Loading theory "Verified-Prover.Prover" consts preSuc :: "nat list \ nat list" consts fv :: "form \ nat list" consts subst :: "(nat \ nat) \ form \ form" consts flatten :: "'a list list \ 'a list" consts maxvar :: "nat list \ nat" consts subs :: "(nat \ form) list \ (nat \ form) list list" consts is_axiom :: "form list \ bool" Proofs for inductive predicate(s) "derivp" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... consts failing_path :: "(nat \ (nat \ form) list) set \ nat \ nat \ (nat \ form) list" locale loc1 fixes s :: "(nat \ form) list" and f :: "nat \ nat \ (nat \ form) list" assumes "loc1 s f" consts FEval :: "U set \ (nat \ U list \ bool) \ (nat \ U) \ form \ bool" consts SEval :: "U set \ (nat \ U list \ bool) \ (nat \ U) \ form list \ bool" locale loc2 fixes s :: "(nat \ form) list" and f :: "nat \ nat \ (nat \ form) list" and mo :: "U set \ (nat \ U list \ bool)" assumes "loc2 s f mo" consts iter :: "('a \ 'a) \ 'a \ nat \ 'a" *** Failed to apply proof method (line 609 of "$AFP/Verified-Prover/Prover.thy"): *** goal (5 subgoals): *** 1. \n t gs g e a list p vs. *** \init s; finite (deriv s); m \ fst ` deriv s; *** \y. *** (\u. (y, u) \ deriv s) \ y \ m; *** (m, a # list) \ deriv s; n = m; is_env (gs, g) e; t = a # list; *** snd a = PAtom p vs; NAtom p vs \ snd ` set list; *** FEval (gs, g) e (NAtom p vs)\ *** \ FEval (gs, g) e (snd a) \ *** (\f\set list. FEval (gs, g) e (snd f)) *** 2. \n t gs g e a list p vs. *** \init s; finite (deriv s); m \ fst ` deriv s; *** \y. *** (\u. (y, u) \ deriv s) \ y \ m; *** (m, a # list) \ deriv s; n = m; is_env (gs, g) e; t = a # list; *** snd a = PAtom p vs; NAtom p vs \ snd ` set list\ *** \ FEval (gs, g) e (PAtom p vs) \ *** FEval (gs, g) e (NAtom p vs) *** 3. \n t gs g e a list. *** \init s; finite (deriv s); m \ fst ` deriv s; *** \y. *** (\u. (y, u) \ deriv s) \ y \ m; *** (m, a # list) \ deriv s; n = m; is_env (gs, g) e; t = a # list; *** \p vs. *** snd a = NAtom p vs \ *** PAtom p vs \ snd ` set list\ *** \ FEval (gs, g) e (snd a) \ *** (\f\set list. FEval (gs, g) e (snd f)) *** 4. \n t gs g e. *** \init s; finite (deriv s); m \ fst ` deriv s; *** \y. *** (\u. (y, u) \ deriv s) \ y \ m; *** (m, t) \ deriv s; n = m; is_env (gs, g) e; *** \ is_axiom (s_of_ns t)\ *** \ \f. *** f \ set (s_of_ns t) \ FEval (gs, g) e f *** 5. \n. *** \init s; finite (deriv s); m \ fst ` deriv s; *** \y u. (y, u) \ deriv s \ y \ m; *** \na t. *** n = m - na \ (na, t) \ deriv s \ *** Svalid (s_of_ns t)\ *** \ \na t. *** Suc n = m - na \ *** (na, t) \ deriv s \ *** Svalid (s_of_ns t) *** At command "apply" (line 609 of "$AFP/Verified-Prover/Prover.thy") val max = fn: int -> int -> int val flatten = fn: 'a list list -> 'a list eqtype pred eqtype var datatype form = FAll of form | FConj of form * form | FDisj of form * form | FEx of form | NAtom of pred * var list | PAtom of pred * var list constructor FAll: form -> form constructor FConj: form * form -> form constructor FDisj: form * form -> form constructor FEx: form -> form constructor NAtom: pred * var list -> form constructor PAtom: pred * var list -> form val preSuc = fn: int list -> int list val fv = fn: form -> var list val subst = fn: (var -> var) -> form -> form val finst = fn: form -> var -> form val s_of_ns = fn: ('a * 'b) list -> 'b list val ns_of_s = fn: 'a list -> (int * 'a) list val sfv = fn: form list -> var list val maxvar = fn: int list -> int val newvar = fn: int list -> int val test = fn: ('a * ''b) list -> ''b -> bool val subs = fn: (var * form) list -> (var * form) list list val step = fn: (var * form) list list -> (var * form) list list val prove' = fn: (var * form) list list -> bool val prove = fn: (var * form) list -> bool val check = fn: form -> bool val my_f = FDisj (FAll (FConj (NAtom (0, [0]), NAtom (1, [0]))), FDisj (FEx (PAtom (1, [0])), FEx (PAtom (0, [0])))): form val it = true: bool ### theory "Verified-Prover.Prover" ### 2.866s elapsed time, 7.156s cpu time, 0.248s GC time \?f = failing_path (deriv ?s) \ ?mo = model ?s; infinite (deriv ?s); init ?s\ \ \mA\set ?s. \ FEval ?mo ntou (snd mA) isabelle document -d /media/data/jenkins/workspace/isabelle-all/browser_info/AFP/Verified-Prover/outline -o pdf -n outline -t /proof,/ML isabelle document -d /media/data/jenkins/workspace/isabelle-all/browser_info/AFP/Verified-Prover/document -o pdf -n document *** Failed to apply proof method (line 609 of "$AFP/Verified-Prover/Prover.thy"): *** goal (5 subgoals): *** 1. \n t gs g e a list p vs. *** \init s; finite (deriv s); m \ fst ` deriv s; *** \y. *** (\u. (y, u) \ deriv s) \ y \ m; *** (m, a # list) \ deriv s; n = m; is_env (gs, g) e; t = a # list; *** snd a = PAtom p vs; NAtom p vs \ snd ` set list; *** FEval (gs, g) e (NAtom p vs)\ *** \ FEval (gs, g) e (snd a) \ *** (\f\set list. FEval (gs, g) e (snd f)) *** 2. \n t gs g e a list p vs. *** \init s; finite (deriv s); m \ fst ` deriv s; *** \y. *** (\u. (y, u) \ deriv s) \ y \ m; *** (m, a # list) \ deriv s; n = m; is_env (gs, g) e; t = a # list; *** snd a = PAtom p vs; NAtom p vs \ snd ` set list\ *** \ FEval (gs, g) e (PAtom p vs) \ *** FEval (gs, g) e (NAtom p vs) *** 3. \n t gs g e a list. *** \init s; finite (deriv s); m \ fst ` deriv s; *** \y. *** (\u. (y, u) \ deriv s) \ y \ m; *** (m, a # list) \ deriv s; n = m; is_env (gs, g) e; t = a # list; *** \p vs. *** snd a = NAtom p vs \ *** PAtom p vs \ snd ` set list\ *** \ FEval (gs, g) e (snd a) \ *** (\f\set list. FEval (gs, g) e (snd f)) *** 4. \n t gs g e. *** \init s; finite (deriv s); m \ fst ` deriv s; *** \y. *** (\u. (y, u) \ deriv s) \ y \ m; *** (m, t) \ deriv s; n = m; is_env (gs, g) e; *** \ is_axiom (s_of_ns t)\ *** \ \f. *** f \ set (s_of_ns t) \ FEval (gs, g) e f *** 5. \n. *** \init s; finite (deriv s); m \ fst ` deriv s; *** \y u. (y, u) \ deriv s \ y \ m; *** \na t. *** n = m - na \ (na, t) \ deriv s \ *** Svalid (s_of_ns t)\ *** \ \na t. *** Suc n = m - na \ *** (na, t) \ deriv s \ *** Svalid (s_of_ns t) *** At command "apply" (line 609 of "$AFP/Verified-Prover/Prover.thy")