previously had proof required me define constant c such that
"lbint x=a..b. f x - c = 0"
the issue lead failure redefine goal error when got end of proof. way around defined c
def c == "(integral {a .. b} f)/(b-a)"
and worked way backwards desired condition. i'm doing similar proof requires me define 2 constants c , d where
"lbint x=a..b. f x - c - d*x = 0"
"lbint x=a..b. lbint y=a..x. f y - c - d*y =0"
is there smart , simple way define these constants? using "trick" used before isn't efficient. i've tried using notation such as
let (c,d) = (some (c,d). lbint x=a..b. f x - c - dx = 0 & lbint x=a..b. lbint y=a..x. f y - c - dy =0)
but without success.
any appreciated!
the standard way introduce variable value fulfilling properties within proof using obtain
-keyword. must accompanied proof of existence obtained variables.
so, in case, read:
obtain c d "lbint x=a..b. f x - c - d*x = 0" "lbint x=a..b. lbint y=a..x. f y - c - d*y =0" proof {*todo*} qed
(i'm not familiar lbint in isabelle, don't know how tricky proof part may become.)
in situations, might suffice introduce arbitrary variables using fix
, assume
relevant properties. spares existence proof @ point , works in many contexts. indeed, def c == x
more or less short-hand fix c assume "c = x"
.
this read:
fix c d assume cd_def: "lbint x=a..b. f x - c - d*x = 0" "lbint x=a..b. lbint y=a..x. f y - c - d*y =0"
but quite need fiddling around @ other parts of proof because such assumption can't dealt definitional equality assumptions implicit in def
.
Comments
Post a Comment