Isabelle: new axiom for undefined functions -
i working on theory use extensional functions defined in funcset theory quite heavily. need work function valued functions both function, , values extensional. quite annoying of lemmas fail because undefined function not map undefined. goal
undefined x = undefined is not provable. can work around using restrictions, more elegant without those. safe add new axiom:
axiomatization undefined_at [simp]: "undefined x = undefined" ? concerned because
1) i'm not sure if should fiddle around logic this.
2) after add axiom, goals " undefined \in a", nitpick produces error : limit reached: many nested axioms (256).
3) seemingly innocent axiom
axiomatization at_undefined [simp]: "f undefined = undefined" produces weird goals "p ==> undefined" .
the constant undefined not model mathematical notion of undefined. rather denote not being specified, have explained in thread on isabelle mailing list.
back in 2008, undefined specified axiom undefined x = undefined, i.e., function undefined maps undefined. soon, people realised not undefined should represent, because restricted function undefined constant function, not arbitrary function @ all. adding axiom not make hol unsound, severely restricts generality of proven, because undefined used lot isabelle's packages.
the other axiom at_undefined leads inconsistencies. stated means every function f should identity on unspecified value undefined. consider type bool of booleans. undefined must either true or false. if take negation f, axiom requires ~ true = true or ~ false = false. obviously, inconsistent specification of op ~, axiom inconsistent.
Comments
Post a Comment