isabelle - Defining multiple constants in an integral -


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