Loading theory "CakeML.Doc_Generated" ### theory "CakeML.Doc_Generated" ### 0.048s elapsed time, 0.096s cpu time, 0.000s GC time Loading theory "HOL-Library.Lattice_Syntax" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List" via "Coinductive.Coinductive_Nat" via "HOL-Library.Complete_Partial_Order2") Loading theory "HOL-Library.Infinite_Set" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List") ### theory "HOL-Library.Lattice_Syntax" ### 0.013s elapsed time, 0.036s cpu time, 0.000s GC time Loading theory "HOL-Library.Complete_Partial_Order2" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List" via "Coinductive.Coinductive_Nat") consts enumerate :: "'a set \ nat \ 'a" ### theory "HOL-Library.Infinite_Set" ### 0.411s elapsed time, 0.884s cpu time, 0.000s GC time Loading theory "HOL-Library.Nat_Bijection" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List" via "Coinductive.Coinductive_Nat" via "HOL-Library.Extended_Nat" via "HOL-Library.Countable") class ccpo = Sup + order + assumes "ccpo_Sup_upper": "\A x. \Complete_Partial_Order.chain (\) A; x \ A\ \ x \ \A" assumes "ccpo_Sup_least": "\A z. \Complete_Partial_Order.chain (\) A; \x. x \ A \ x \ z\ \ \A \ z" Found termination order: "(\p. size (snd p)) <*mlex*> {}" Found termination order: "size_list size <*mlex*> {}" val cont_intro_tac = fn: Proof.context -> int -> tactic val cont_intro_simproc = fn: Proof.context -> cterm -> thm option class preorder = ord + assumes "less_le_not_le": "\x y. (x < y) = (x \ y \ \ y \ x)" and "order_refl": "\x. x \ x" and "order_trans": "\x y z. \x \ y; y \ z\ \ x \ z" ### Ignoring duplicate rewrite rule: ### transp (\) \ True locale partial_function_definitions fixes leq :: "'a \ 'a \ bool" and lub :: "'a set \ 'a" assumes "partial_function_definitions leq lub" ### theory "HOL-Library.Nat_Bijection" ### 0.527s elapsed time, 1.056s cpu time, 0.000s GC time Loading theory "HOL-Library.Old_Datatype" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List" via "Coinductive.Coinductive_Nat" via "HOL-Library.Extended_Nat" via "HOL-Library.Countable") class ccpo = Sup + order + assumes "ccpo_Sup_upper": "\A x. \Complete_Partial_Order.chain (\) A; x \ A\ \ x \ \A" assumes "ccpo_Sup_least": "\A z. \Complete_Partial_Order.chain (\) A; \x. x \ A \ x \ z\ \ \A \ z" locale partial_function_definitions fixes leq :: "'a \ 'a \ bool" and lub :: "'a set \ 'a" assumes "partial_function_definitions leq lub" class ccpo = Sup + order + assumes "ccpo_Sup_upper": "\A x. \Complete_Partial_Order.chain (\) A; x \ A\ \ x \ \A" assumes "ccpo_Sup_least": "\A z. \Complete_Partial_Order.chain (\) A; \x. x \ A \ x \ z\ \ \A \ z" signature OLD_DATATYPE = sig val check_specs: spec list -> theory -> spec list * Proof.context type config = {quiet: bool, strict: bool} val default_config: config type descr = (int * (string * dtyp list * (string * dtyp list) list)) list val distinct_lemma: thm datatype dtyp = DtRec of int | DtTFree of string * sort | DtType of string * dtyp list type info = {case_cong: thm, case_cong_weak: thm, case_name: string, case_rewrites: thm list, descr: descr, distinct: thm list, exhaust: thm, index: int, induct: thm, inducts: thm list, inject: thm list, nchotomy: thm, rec_names: string list, rec_rewrites: thm list, split: thm, split_asm: thm} val read_specs: spec_cmd list -> theory -> spec list * Proof.context type spec = (binding * (string * sort) list * mixfix) * (binding * typ list * mixfix) list type spec_cmd = (binding * (string * string option) list * mixfix) * (binding * string list * mixfix) list end structure Old_Datatype: OLD_DATATYPE ### theory "HOL-Library.Old_Datatype" ### 0.983s elapsed time, 1.884s cpu time, 0.456s GC time Loading theory "HOL-Library.Simps_Case_Conv" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List") class ccpo = Sup + order + assumes "ccpo_Sup_upper": "\A x. \Complete_Partial_Order.chain (\) A; x \ A\ \ x \ \A" assumes "ccpo_Sup_least": "\A z. \Complete_Partial_Order.chain (\) A; \x. x \ A \ x \ z\ \ \A \ z" locale partial_function_definitions fixes leq :: "'a \ 'a \ bool" and lub :: "'a set \ 'a" assumes "partial_function_definitions leq lub" Proofs for inductive predicate(s) "compact" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### ML warning (line 139 of "~~/src/HOL/Library/simps_case_conv.ML"): ### Pattern is not exhaustive. signature SIMPS_CASE_CONV = sig val gen_to_simps: Proof.context -> thm list -> thm -> thm list val to_case: Proof.context -> thm list -> thm val to_simps: Proof.context -> thm -> thm list end structure Simps_Case_Conv: SIMPS_CASE_CONV ### theory "HOL-Library.Simps_Case_Conv" ### 0.091s elapsed time, 0.184s cpu time, 0.000s GC time Loading theory "HOL-Library.Countable" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List" via "Coinductive.Coinductive_Nat" via "HOL-Library.Extended_Nat") class ccpo = Sup + order + assumes "ccpo_Sup_upper": "\A x. \Complete_Partial_Order.chain (\) A; x \ A\ \ x \ \A" assumes "ccpo_Sup_least": "\A z. \Complete_Partial_Order.chain (\) A; \x. x \ A \ x \ z\ \ \A \ z" locale partial_function_definitions fixes leq :: "'a \ 'a \ bool" and lub :: "'a set \ 'a" assumes "partial_function_definitions leq lub" class ccpo = Sup + order + assumes "ccpo_Sup_upper": "\A x. \Complete_Partial_Order.chain (\) A; x \ A\ \ x \ \A" assumes "ccpo_Sup_least": "\A z. \Complete_Partial_Order.chain (\) A; \x. x \ A \ x \ z\ \ \A \ z" locale partial_function_definitions fixes leq :: "'a \ 'a \ bool" and lub :: "'a set \ 'a" assumes "partial_function_definitions leq lub" class ccpo = Sup + order + assumes "ccpo_Sup_upper": "\A x. \Complete_Partial_Order.chain (\) A; x \ A\ \ x \ \A" assumes "ccpo_Sup_least": "\A z. \Complete_Partial_Order.chain (\) A; \x. x \ A \ x \ z\ \ \A \ z" ### Additional type variable(s) in locale specification "countable": 'a locale partial_function_definitions fixes leq :: "'a \ 'a \ bool" and lub :: "'a set \ 'a" assumes "partial_function_definitions leq lub" class countable = type + assumes "ex_inj": "\to_nat. inj to_nat" class complete_lattice = ccpo + conditionally_complete_lattice + bounded_lattice + assumes "Inf_lower": "\x A. x \ A \ \A \ x" and "Inf_greatest": "\A z. (\x. x \ A \ z \ x) \ z \ \A" and "Sup_upper": "\x A. x \ A \ x \ \A" and "Sup_least": "\A z. (\x. x \ A \ x \ z) \ \A \ z" and "Inf_empty": "\{} = \" and "Sup_empty": "\{} = \" Proofs for inductive predicate(s) "finite_item" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... class complete_distrib_lattice = complete_lattice + distrib_lattice + assumes "Inf_Sup_le": "\A. INFIMUM A Sup \ SUPREMUM {f ` A |f. \Y\A. f Y \ Y} Inf" val old_countable_datatype_tac = fn: Proof.context -> int -> tactic ### ML warning (line 93 of "~~/src/HOL/Tools/BNF/bnf_lfp_countable.ML"): ### Pattern is not exhaustive. ### ML warning (line 139 of "~~/src/HOL/Tools/BNF/bnf_lfp_countable.ML"): ### Pattern is not exhaustive. ### ML warning (line 143 of "~~/src/HOL/Tools/BNF/bnf_lfp_countable.ML"): ### Matches are not exhaustive. ### ML warning (line 145 of "~~/src/HOL/Tools/BNF/bnf_lfp_countable.ML"): ### Matches are not exhaustive. ### ML warning (line 156 of "~~/src/HOL/Tools/BNF/bnf_lfp_countable.ML"): ### Pattern is not exhaustive. signature BNF_LFP_COUNTABLE = sig val countable_datatype_tac: Proof.context -> tactic val derive_encode_injectives_thms: Proof.context -> string list -> thm list end structure BNF_LFP_Countable: BNF_LFP_COUNTABLE val countable_datatype_tac = fn: Proof.context -> thm -> thm Seq.seq val countable_tac = fn: Proof.context -> int -> tactic class complete_lattice = ccpo + conditionally_complete_lattice + bounded_lattice + assumes "Inf_lower": "\x A. x \ A \ \A \ x" and "Inf_greatest": "\A z. (\x. x \ A \ z \ x) \ z \ \A" and "Sup_upper": "\x A. x \ A \ x \ \A" and "Sup_least": "\A z. (\x. x \ A \ x \ z) \ \A \ z" and "Inf_empty": "\{} = \" and "Sup_empty": "\{} = \" ### theory "HOL-Library.Countable" ### 1.219s elapsed time, 2.440s cpu time, 0.000s GC time Loading theory "HOL-Library.Countable_Set" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List" via "Coinductive.Coinductive_Nat" via "HOL-Library.Extended_Nat" via "HOL-Library.Order_Continuity" via "HOL-Library.Countable_Complete_Lattices") locale partial_function_definitions fixes leq :: "'a \ 'a \ bool" and lub :: "'a set \ 'a" assumes "partial_function_definitions leq lub" ### theory "HOL-Library.Complete_Partial_Order2" ### 3.394s elapsed time, 6.712s cpu time, 0.456s GC time Loading theory "HOL-Library.Lattice_Algebras" (required by "CakeML.Ast" via "CakeML.FpSem" via "IEEE_Floating_Point.FP64" via "IEEE_Floating_Point.IEEE" via "HOL-Library.Float") ### theory "HOL-Library.Countable_Set" ### 0.562s elapsed time, 1.124s cpu time, 0.000s GC time Loading theory "HOL-Library.Countable_Complete_Lattices" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List" via "Coinductive.Coinductive_Nat" via "HOL-Library.Extended_Nat" via "HOL-Library.Order_Continuity") class countable_complete_lattice = Inf + Sup + lattice + bot + top + assumes "ccInf_lower": "\A x. \countable A; x \ A\ \ Inf A \ x" assumes "ccInf_greatest": "\A z. \countable A; \x. x \ A \ z \ x\ \ z \ Inf A" assumes "ccSup_upper": "\A x. \countable A; x \ A\ \ x \ Sup A" assumes "ccSup_least": "\A z. \countable A; \x. x \ A \ x \ z\ \ Sup A \ z" assumes "ccInf_empty": "Inf {} = top" assumes "ccSup_empty": "Sup {} = bot" class countable_complete_distrib_lattice = countable_complete_lattice + assumes "sup_ccInf": "\B a. countable B \ sup a (Inf B) = (INF b:B. sup a b)" assumes "inf_ccSup": "\B a. countable B \ inf a (Sup B) = (SUP b:B. inf a b)" ### theory "HOL-Library.Countable_Complete_Lattices" ### 2.447s elapsed time, 4.828s cpu time, 0.572s GC time Loading theory "HOL-Library.Log_Nat" (required by "CakeML.Ast" via "CakeML.FpSem" via "IEEE_Floating_Point.FP64" via "IEEE_Floating_Point.IEEE" via "HOL-Library.Float") class lattice_ab_group_add_abs = abs + lattice_ab_group_add + assumes "abs_lattice": "\a. \a\ = sup a (- a)" ### theory "HOL-Library.Log_Nat" ### 0.175s elapsed time, 0.352s cpu time, 0.000s GC time Loading theory "HOL-Library.Order_Continuity" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List" via "Coinductive.Coinductive_Nat" via "HOL-Library.Extended_Nat") ### theory "HOL-Library.Order_Continuity" ### 0.726s elapsed time, 1.456s cpu time, 0.000s GC time Loading theory "HOL-Library.Extended_Nat" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List" via "Coinductive.Coinductive_Nat") class infinity = type + fixes infinity :: "'a" instantiation enat :: infinity infinity_enat == infinity :: enat Proofs for inductive predicate(s) "rec_set_enat" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the simplification rules ... ### No equation for constructor "Extended_Nat.infinity_class.infinity" ### in definition of function "the_enat" consts the_enat :: "enat \ nat" instantiation enat :: zero_neq_one one_enat == one_class.one :: enat zero_enat == zero_class.zero :: enat instantiation enat :: comm_monoid_add plus_enat == plus :: enat \ enat \ enat instantiation enat :: {comm_semiring_1,semiring_no_zero_divisors} times_enat == times :: enat \ enat \ enat instantiation enat :: minus minus_enat == minus :: enat \ enat \ enat instantiation enat :: linordered_ab_semigroup_add less_eq_enat == less_eq :: enat \ enat \ bool less_enat == less :: enat \ enat \ bool ### theory "HOL-Library.Lattice_Algebras" ### 4.644s elapsed time, 9.176s cpu time, 1.000s GC time Loading theory "HOL-Library.Float" (required by "CakeML.Ast" via "CakeML.FpSem" via "IEEE_Floating_Point.FP64" via "IEEE_Floating_Point.IEEE") instantiation enat :: {order_bot,order_top} top_enat == top :: enat bot_enat == bot :: enat structure Cancel_Enat_Common: sig val dest_sum: term -> term list val dest_summing: term * term list -> term list val find_first: term -> term list -> term list val find_first_t: term list -> term -> term list -> term list val mk_eq: term * term -> term val mk_sum: typ -> term list -> term val norm_ss: simpset val norm_tac: Proof.context -> tactic val simplify_meta_eq: Proof.context -> thm -> thm -> thm val trans_tac: Proof.context -> thm option -> tactic end structure Eq_Enat_Cancel: sig val proc: Proof.context -> term -> thm option end structure Le_Enat_Cancel: sig val proc: Proof.context -> term -> thm option end structure Less_Enat_Cancel: sig val proc: Proof.context -> term -> thm option end instantiation enat :: complete_lattice Inf_enat == Inf :: enat set \ enat Sup_enat == Sup :: enat set \ enat sup_enat == sup :: enat \ enat \ enat inf_enat == inf :: enat \ enat \ enat ### theory "HOL-Library.Extended_Nat" ### 1.213s elapsed time, 2.376s cpu time, 0.428s GC time Loading theory "Coinductive.Coinductive_Nat" (required by "CakeML.Ast" via "CakeML.Lib" via "Coinductive.Coinductive_List") instantiation float :: {equal,linordered_idom} sgn_float == sgn :: float \ float abs_float == abs :: float \ float uminus_float == uminus :: float \ float one_float == one_class.one :: float times_float == times :: float \ float \ float zero_float == zero_class.zero :: float minus_float == minus :: float \ float \ float less_eq_float == less_eq :: float \ float \ bool less_float == less :: float \ float \ bool plus_float == plus :: float \ float \ float equal_float == equal_class.equal :: float \ float \ bool Proofs for coinductive predicate(s) "enat_setp" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the coinduction rule ... Proving the simplification rules ... locale co instantiation float :: lattice_ab_group_add inf_float == inf :: float \ float \ float sup_float == sup :: float \ float \ float instantiation float :: exhaustive exhaustive_float == exhaustive_class.exhaustive :: (float \ (bool \ term list) option) \ natural \ (bool \ term list) option instantiation float :: full_exhaustive full_exhaustive_float == full_exhaustive_class.full_exhaustive :: (float \ (unit \ term) \ (bool \ term list) option) \ natural \ (bool \ term list) option Proofs for coinductive predicate(s) "Le_enatp" instantiation float :: random random_float == random_class.random :: natural \ natural \ natural \ (float \ (unit \ term)) \ natural \ natural Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the coinduction rule ... Proving the simplification rules ... ### theory "Coinductive.Coinductive_Nat" ### 1.039s elapsed time, 2.088s cpu time, 0.000s GC time Loading theory "Coinductive.Coinductive_List" (required by "CakeML.Ast" via "CakeML.Lib") Found termination order: "(\p. size (snd (snd p))) <*mlex*> {}" Found termination order: "(\p. size (snd (snd p))) <*mlex*> {}" ### Ignoring duplicate rewrite rule: ### mantissa 0 \ 0 ### theory "HOL-Library.Float" ### 2.552s elapsed time, 5.124s cpu time, 0.000s GC time Loading theory "CakeML.Namespace" (required by "CakeML.Ast") consts unfold_llist :: "('a \ bool) \ ('a \ 'b) \ ('a \ 'a) \ 'a \ 'b llist" Proofs for inductive predicate(s) "lsetp" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... Proofs for inductive predicate(s) "lfinite" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... consts lappend :: "'a llist \ 'a llist \ 'a llist" ### Ignoring duplicate rewrite rule: ### lnull (lappend ?xs1 ?ys1) \ lnull ?xs1 \ lnull ?ys1 Proofs for coinductive predicate(s) "lprefix" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the coinduction rule ... Proving the simplification rules ... consts lSup :: "'a llist set \ 'a llist" Found termination order: "(\p. length (fst p)) <*mlex*> {}" consts iterates :: "('a \ 'a) \ 'a \ 'a llist" consts llist_of :: "'a list \ 'a llist" Found termination order: "size <*mlex*> {}" consts ltake :: "enat \ 'a llist \ 'a llist" ### Ambiguous input (line 1019 of "~~/afp/thys/Coinductive/Coinductive_List.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" ldrop) ### ("_cargs" ("_position" n) ("_position" xs))) ### ("_case_syntax" ("_position" n) ### ("_case2" ### ("_case1" ("\<^const>Groups.zero_class.zero") ("_position" xs)) ### ("_case1" ("_applC" ("_position" eSuc) ("_position" n')) ### ("_case_syntax" ("_position" xs) ### ("_case2" ("_case1" ("_position" LNil) ("_position" LNil)) ### ("_case1" ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" x) ("_position" xs'))) ### ("_applC" ("_position" ldrop) ### ("_cargs" ("_position" n') ("_position" xs'))))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" ldrop) ### ("_cargs" ("_position" n) ("_position" xs))) ### ("_case_syntax" ("_position" n) ### ("_case2" ### ("_case1" ("\<^const>Groups.zero_class.zero") ("_position" xs)) ### ("_case2" ### ("_case1" ("_applC" ("_position" eSuc) ("_position" n')) ### ("_case_syntax" ("_position" xs) ### ("_case1" ("_position" LNil) ("_position" LNil)))) ### ("_case1" ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" x) ("_position" xs'))) ### ("_applC" ("_position" ldrop) ### ("_cargs" ("_position" n') ("_position" xs'))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. consts ltakeWhile :: "('a \ bool) \ 'a llist \ 'a llist" Found termination order: "size <*mlex*> {}" consts lnth :: "'a llist \ nat \ 'a" consts lzip :: "'a llist \ 'b llist \ ('a \ 'b) llist" Proofs for coinductive predicate(s) "ldistinct" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the coinduction rule ... Proving the simplification rules ... Proofs for coinductive predicate(s) "llexord" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the coinduction rule ... Proving the simplification rules ... ### Ambiguous input (line 1508 of "~~/afp/thys/Coinductive/Coinductive_List.thy") produces 2 parse trees: ### ("\<^const>Pure.eq" ("_position" F) ### ("_lambda" ### ("_pttrns" ("_position" ltake) ### ("_pttrns" ("_position" n) ("_position" xs))) ### ("_case_syntax" ("_position" xs) ### ("_case2" ("_case1" ("_position" LNil) ("_position" LNil)) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" x) ("_position" xs))) ### ("_case_syntax" ("_position" n) ### ("_case1" ("\<^const>Groups.zero_class.zero") ### ("_position" LNil)))) ### ("_case1" ("_applC" ("_position" eSuc) ("_position" n)) ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" x) ### ("_applC" ("_position" ltake) ### ("_cargs" ("_position" n) ("_position" xs))))))))))) ### ("\<^const>Pure.eq" ("_position" F) ### ("_lambda" ### ("_pttrns" ("_position" ltake) ### ("_pttrns" ("_position" n) ("_position" xs))) ### ("_case_syntax" ("_position" xs) ### ("_case2" ("_case1" ("_position" LNil) ("_position" LNil)) ### ("_case1" ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" x) ("_position" xs))) ### ("_case_syntax" ("_position" n) ### ("_case2" ### ("_case1" ("\<^const>Groups.zero_class.zero") ### ("_position" LNil)) ### ("_case1" ("_applC" ("_position" eSuc) ("_position" n)) ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" x) ### ("_applC" ("_position" ltake) ### ("_cargs" ("_position" n) ("_position" xs))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ignoring duplicate rewrite rule: ### lnull (lzip ?xs1 ?ys1) \ lnull ?xs1 \ lnull ?ys1 ### Ambiguous input (line 2485 of "~~/afp/thys/Coinductive/Coinductive_List.thy") produces 2 parse trees: ### ("\<^const>Pure.eq" ("_position" F) ### ("_lambda" ### ("_pttrns" ("_position" lzip) ### ("_pattern" ("_position" xs) ("_position" ys))) ### ("_case_syntax" ("_position" xs) ### ("_case2" ("_case1" ("_position" LNil) ("_position" LNil)) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" x) ("_position" xs'))) ### ("_case_syntax" ("_position" ys) ### ("_case1" ("_position" LNil) ("_position" LNil)))) ### ("_case1" ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" y) ("_position" ys'))) ### ("_applC" ("_position" LCons) ### ("_cargs" ### ("_tuple" ("_position" x) ("_tuple_arg" ("_position" y))) ### ("_applC" ("_position" curry) ### ("_cargs" ("_position" lzip) ### ("_cargs" ("_position" xs') ("_position" ys')))))))))))) ### ("\<^const>Pure.eq" ("_position" F) ### ("_lambda" ### ("_pttrns" ("_position" lzip) ### ("_pattern" ("_position" xs) ("_position" ys))) ### ("_case_syntax" ("_position" xs) ### ("_case2" ("_case1" ("_position" LNil) ("_position" LNil)) ### ("_case1" ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" x) ("_position" xs'))) ### ("_case_syntax" ("_position" ys) ### ("_case2" ("_case1" ("_position" LNil) ("_position" LNil)) ### ("_case1" ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" y) ("_position" ys'))) ### ("_applC" ("_position" LCons) ### ("_cargs" ### ("_tuple" ("_position" x) ### ("_tuple_arg" ("_position" y))) ### ("_applC" ("_position" curry) ### ("_cargs" ("_position" lzip) ### ("_cargs" ("_position" xs') ### ("_position" ys')))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "(\p. size (snd p)) <*mlex*> {}" Found termination order: "(\p. length (snd p)) <*mlex*> {}" Found termination order: "{}" Found termination order: "{}" class ord = type + fixes less_eq :: "'a \ 'a \ bool" and less :: "'a \ 'a \ bool" Found termination order: "{}" Proofs for coinductive predicate(s) "lsorted" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the coinduction rule ... Proving the simplification rules ... ### Partially applied constant "Sublist.list_emb" on left hand side of equation, in theorem: ### subseq_order.lsorted LNil \ True ### Partially applied constant "Sublist.list_emb" on left hand side of equation, in theorem: ### subseq_order.lsorted (LCons ?x LNil) \ True ### Partially applied constant "Sublist.list_emb" on left hand side of equation, in theorem: ### subseq_order.lsorted (LCons ?x (LCons ?y ?xs)) \ ### subseq ?x ?y \ subseq_order.lsorted (LCons ?y ?xs) ### Partially applied constant "Sublist.sublist" on left hand side of equation, in theorem: ### sublist_order.lsorted LNil \ True ### Partially applied constant "Sublist.sublist" on left hand side of equation, in theorem: ### sublist_order.lsorted (LCons ?x LNil) \ True ### Partially applied constant "Sublist.sublist" on left hand side of equation, in theorem: ### sublist_order.lsorted (LCons ?x (LCons ?y ?xs)) \ ### sublist ?x ?y \ sublist_order.lsorted (LCons ?y ?xs) ### Partially applied constant "Sublist.suffix" on left hand side of equation, in theorem: ### suffix_order.lsorted LNil \ True ### Partially applied constant "Sublist.suffix" on left hand side of equation, in theorem: ### suffix_order.lsorted (LCons ?x LNil) \ True ### Partially applied constant "Sublist.suffix" on left hand side of equation, in theorem: ### suffix_order.lsorted (LCons ?x (LCons ?y ?xs)) \ ### suffix ?x ?y \ suffix_order.lsorted (LCons ?y ?xs) ### Partially applied constant "Sublist.prefix" on left hand side of equation, in theorem: ### prefix_order.lsorted LNil \ True ### Partially applied constant "Sublist.prefix" on left hand side of equation, in theorem: ### prefix_order.lsorted (LCons ?x LNil) \ True ### Partially applied constant "Sublist.prefix" on left hand side of equation, in theorem: ### prefix_order.lsorted (LCons ?x (LCons ?y ?xs)) \ ### prefix ?x ?y \ prefix_order.lsorted (LCons ?y ?xs) Found termination order: "{}" class preorder = ord + assumes "less_le_not_le": "\x y. (x < y) = (x \ y \ \ y \ x)" and "order_refl": "\x. x \ x" and "order_trans": "\x y z. \x \ y; y \ z\ \ x \ z" class linorder = order + assumes "linear": "\x y. x \ y \ y \ x" ### theory "CakeML.Namespace" ### 4.559s elapsed time, 9.048s cpu time, 1.448s GC time Loading theory "CakeML.NamespaceAuxiliary" ### theory "CakeML.NamespaceAuxiliary" ### 0.047s elapsed time, 0.096s cpu time, 0.000s GC time Loading theory "IEEE_Floating_Point.IEEE" (required by "CakeML.Ast" via "CakeML.FpSem" via "IEEE_Floating_Point.FP64") ### Introduced fixed type variable(s): 'a in "P__" or "xs__" ### Introduced fixed type variable(s): 'a in "P__" or "xs__" ### Introduced fixed type variable(s): 'a in "P__" or "Q__" ### Generation of a parametrized correspondence relation failed. ### Reason: No relator for the type "Word.word" found. ### Introduced fixed type variable(s): 'a in "xs__" instantiation IEEE.float :: (len, len) zero zero_float == zero_class.zero :: ('a, 'b) IEEE.float instantiation IEEE.float :: (len, len) uminus uminus_float == uminus :: ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float class preorder = ord + assumes "less_le_not_le": "\x y. (x < y) = (x \ y \ \ y \ x)" and "order_refl": "\x. x \ x" and "order_trans": "\x y z. \x \ y; y \ z\ \ x \ z" class monoid_add = semigroup_add + zero + assumes "add_0_left": "\a. (0::'a) + a = a" and "add_0_right": "\a. a + (0::'a) = a" ### theory "Coinductive.Coinductive_List" ### 9.429s elapsed time, 18.924s cpu time, 4.972s GC time Loading theory "CakeML.Lib" (required by "CakeML.Ast") Found termination order: "{}" Found termination order: "{}" Found termination order: "{}" Found termination order: "{}" instantiation IEEE.float :: (len, len) plus plus_float == plus :: ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float instantiation IEEE.float :: (len, len) minus minus_float == minus :: ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float instantiation IEEE.float :: (len, len) times times_float == times :: ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float instantiation IEEE.float :: (len, len) one one_float == one_class.one :: ('a, 'b) IEEE.float instantiation IEEE.float :: (len, len) inverse inverse_float == inverse :: ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float divide_float == divide :: ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float Found termination order: "{}" instantiation IEEE.float :: (len, len) ord less_eq_float == less_eq :: ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float \ bool less_float == less :: ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float \ bool instantiation IEEE.float :: (len, len) abs abs_float == abs :: ('a, 'b) IEEE.float \ ('a, 'b) IEEE.float ### theory "IEEE_Floating_Point.IEEE" ### 5.602s elapsed time, 11.292s cpu time, 3.872s GC time Loading theory "IEEE_Floating_Point.FP64" (required by "CakeML.Ast" via "CakeML.FpSem") ### Generation of a parametrized correspondence relation failed. ### Reason: No relator for the type "Numeral_Type.bit0" found. ### theory "CakeML.Lib" ### 2.406s elapsed time, 4.776s cpu time, 0.348s GC time Loading theory "CakeML.LibAuxiliary" ### theory "CakeML.LibAuxiliary" ### 0.044s elapsed time, 0.088s cpu time, 0.000s GC time Loading theory "CakeML.Ffi" (required by "CakeML.BigStep" via "CakeML.SemanticPrimitives") ### theory "IEEE_Floating_Point.FP64" ### 0.851s elapsed time, 1.708s cpu time, 0.000s GC time Loading theory "CakeML.FpSem" (required by "CakeML.Ast") Found termination order: "{}" Found termination order: "{}" Found termination order: "{}" ### theory "CakeML.FpSem" ### 4.470s elapsed time, 8.912s cpu time, 0.672s GC time Loading theory "CakeML.Ast" ### Ambiguous input (line 47 of "~~/afp/thys/CakeML/generated/CakeML/Ffi.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" initial_ffi_state) ### ("_cargs" ("_position" oc) ("_position" ffi1))) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" oracle0) ("_position" oc)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" ffi_state) ("_position" ffi1)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" final_event) ("_position" None)) ### ("_datatype_field" ("_constify" io_events) ### ("\<^const>List.list.Nil")))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" initial_ffi_state) ### ("_cargs" ("_position" oc) ("_position" ffi1))) ### ("_record" ### ("_fields" ("_field" ("_constify" oracle0) ("_position" oc)) ### ("_fields" ("_field" ("_constify" ffi_state) ("_position" ffi1)) ### ("_fields" ("_field" ("_constify" final_event) ("_position" None)) ### ("_field" ("_constify" io_events) ### ("\<^const>List.list.Nil")))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 57 of "~~/afp/thys/CakeML/generated/CakeML/Ffi.thy") produces 16 parse trees (10 displayed): ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" call_FFI) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" final_event) ("_position" st)) ### ("_position" None)) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ("_position" s) ### ("_String" ("_position" ''''))))) ### ("_case_syntax" ### ("_applC" ("_applC" ("_position" oracle0) ("_position" st)) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" ffi_state) ("_position" st)) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ("_position" ffi') ("_position" bytes'))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" List.length) ("_position" bytes')) ### ("_applC" ("_position" List.length) ("_position" bytes))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_updates" ### ("_datatype_field_update" ("_constify" ffi_state) ### ("_position" ffi')) ### ("_datatype_field_update" ("_constify" io_events) ### ("\<^const>List.append" ### ("_applC" ("_position" io_events) ("_position" st)) ### ("_list" ### ("_applC" ("_position" IO_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_applC" ("_position" zipSameLength) ### ("_cargs" ("_position" bytes) ### ("_position" bytes'))))))))))) ### ("_tuple_arg" ("_position" bytes'))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))) ### ("_case2" ### ("_case1" ("_position" Oracle_diverge) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_diverged)))))))) ### ("_tuple_arg" ("_position" bytes)))) ### ("_case1" ("_position" Oracle_fail) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))))) ### ("_tuple" ("_position" st) ("_tuple_arg" ("_position" bytes)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" call_FFI) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" final_event) ("_position" st)) ### ("_position" None)) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ("_position" s) ### ("_String" ("_position" ''''))))) ### ("_case_syntax" ### ("_applC" ("_applC" ("_position" oracle0) ("_position" st)) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" ffi_state) ("_position" st)) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ("_position" ffi') ("_position" bytes'))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" List.length) ("_position" bytes')) ### ("_applC" ("_position" List.length) ("_position" bytes))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_updates" ### ("_field_update" ("_constify" ffi_state) ### ("_position" ffi')) ### ("_field_update" ("_constify" io_events) ### ("\<^const>List.append" ### ("_applC" ("_position" io_events) ("_position" st)) ### ("_list" ### ("_applC" ("_position" IO_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_applC" ("_position" zipSameLength) ### ("_cargs" ("_position" bytes) ### ("_position" bytes'))))))))))) ### ("_tuple_arg" ("_position" bytes'))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))) ### ("_case2" ### ("_case1" ("_position" Oracle_diverge) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_diverged)))))))) ### ("_tuple_arg" ("_position" bytes)))) ### ("_case1" ("_position" Oracle_fail) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))))) ### ("_tuple" ("_position" st) ("_tuple_arg" ("_position" bytes)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" call_FFI) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" final_event) ("_position" st)) ### ("_position" None)) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ("_position" s) ### ("_String" ("_position" ''''))))) ### ("_case_syntax" ### ("_applC" ("_applC" ("_position" oracle0) ("_position" st)) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" ffi_state) ("_position" st)) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ("_position" ffi') ("_position" bytes'))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" List.length) ("_position" bytes')) ### ("_applC" ("_position" List.length) ("_position" bytes))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_updates" ### ("_datatype_field_update" ("_constify" ffi_state) ### ("_position" ffi')) ### ("_datatype_field_update" ("_constify" io_events) ### ("\<^const>List.append" ### ("_applC" ("_position" io_events) ("_position" st)) ### ("_list" ### ("_applC" ("_position" IO_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_applC" ("_position" zipSameLength) ### ("_cargs" ("_position" bytes) ### ("_position" bytes'))))))))))) ### ("_tuple_arg" ("_position" bytes'))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))) ### ("_case2" ### ("_case1" ("_position" Oracle_diverge) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_diverged)))))))) ### ("_tuple_arg" ("_position" bytes)))) ### ("_case1" ("_position" Oracle_fail) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))))) ### ("_tuple" ("_position" st) ("_tuple_arg" ("_position" bytes)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" call_FFI) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" final_event) ("_position" st)) ### ("_position" None)) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ("_position" s) ### ("_String" ("_position" ''''))))) ### ("_case_syntax" ### ("_applC" ("_applC" ("_position" oracle0) ("_position" st)) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" ffi_state) ("_position" st)) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ("_position" ffi') ("_position" bytes'))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" List.length) ("_position" bytes')) ### ("_applC" ("_position" List.length) ("_position" bytes))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_updates" ### ("_field_update" ("_constify" ffi_state) ### ("_position" ffi')) ### ("_field_update" ("_constify" io_events) ### ("\<^const>List.append" ### ("_applC" ("_position" io_events) ("_position" st)) ### ("_list" ### ("_applC" ("_position" IO_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_applC" ("_position" zipSameLength) ### ("_cargs" ("_position" bytes) ### ("_position" bytes'))))))))))) ### ("_tuple_arg" ("_position" bytes'))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))) ### ("_case2" ### ("_case1" ("_position" Oracle_diverge) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_diverged)))))))) ### ("_tuple_arg" ("_position" bytes)))) ### ("_case1" ("_position" Oracle_fail) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))))) ### ("_tuple" ("_position" st) ("_tuple_arg" ("_position" bytes)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" call_FFI) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" final_event) ("_position" st)) ### ("_position" None)) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ("_position" s) ### ("_String" ("_position" ''''))))) ### ("_case_syntax" ### ("_applC" ("_applC" ("_position" oracle0) ("_position" st)) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" ffi_state) ("_position" st)) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ("_position" ffi') ("_position" bytes'))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" List.length) ("_position" bytes')) ### ("_applC" ("_position" List.length) ("_position" bytes))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_updates" ### ("_datatype_field_update" ("_constify" ffi_state) ### ("_position" ffi')) ### ("_datatype_field_update" ("_constify" io_events) ### ("\<^const>List.append" ### ("_applC" ("_position" io_events) ("_position" st)) ### ("_list" ### ("_applC" ("_position" IO_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_applC" ("_position" zipSameLength) ### ("_cargs" ("_position" bytes) ### ("_position" bytes'))))))))))) ### ("_tuple_arg" ("_position" bytes'))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))) ### ("_case2" ### ("_case1" ("_position" Oracle_diverge) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_diverged)))))))) ### ("_tuple_arg" ("_position" bytes)))) ### ("_case1" ("_position" Oracle_fail) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))))) ### ("_tuple" ("_position" st) ("_tuple_arg" ("_position" bytes)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" call_FFI) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" final_event) ("_position" st)) ### ("_position" None)) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ("_position" s) ### ("_String" ("_position" ''''))))) ### ("_case_syntax" ### ("_applC" ("_applC" ("_position" oracle0) ("_position" st)) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" ffi_state) ("_position" st)) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ("_position" ffi') ("_position" bytes'))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" List.length) ("_position" bytes')) ### ("_applC" ("_position" List.length) ("_position" bytes))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_updates" ### ("_field_update" ("_constify" ffi_state) ### ("_position" ffi')) ### ("_field_update" ("_constify" io_events) ### ("\<^const>List.append" ### ("_applC" ("_position" io_events) ("_position" st)) ### ("_list" ### ("_applC" ("_position" IO_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_applC" ("_position" zipSameLength) ### ("_cargs" ("_position" bytes) ### ("_position" bytes'))))))))))) ### ("_tuple_arg" ("_position" bytes'))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))) ### ("_case2" ### ("_case1" ("_position" Oracle_diverge) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_diverged)))))))) ### ("_tuple_arg" ("_position" bytes)))) ### ("_case1" ("_position" Oracle_fail) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))))) ### ("_tuple" ("_position" st) ("_tuple_arg" ("_position" bytes)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" call_FFI) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" final_event) ("_position" st)) ### ("_position" None)) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ("_position" s) ### ("_String" ("_position" ''''))))) ### ("_case_syntax" ### ("_applC" ("_applC" ("_position" oracle0) ("_position" st)) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" ffi_state) ("_position" st)) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ("_position" ffi') ("_position" bytes'))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" List.length) ("_position" bytes')) ### ("_applC" ("_position" List.length) ("_position" bytes))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_updates" ### ("_datatype_field_update" ("_constify" ffi_state) ### ("_position" ffi')) ### ("_datatype_field_update" ("_constify" io_events) ### ("\<^const>List.append" ### ("_applC" ("_position" io_events) ("_position" st)) ### ("_list" ### ("_applC" ("_position" IO_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_applC" ("_position" zipSameLength) ### ("_cargs" ("_position" bytes) ### ("_position" bytes'))))))))))) ### ("_tuple_arg" ("_position" bytes'))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))) ### ("_case2" ### ("_case1" ("_position" Oracle_diverge) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_diverged)))))))) ### ("_tuple_arg" ("_position" bytes)))) ### ("_case1" ("_position" Oracle_fail) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))))) ### ("_tuple" ("_position" st) ("_tuple_arg" ("_position" bytes)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" call_FFI) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" final_event) ("_position" st)) ### ("_position" None)) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ("_position" s) ### ("_String" ("_position" ''''))))) ### ("_case_syntax" ### ("_applC" ("_applC" ("_position" oracle0) ("_position" st)) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" ffi_state) ("_position" st)) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ("_position" ffi') ("_position" bytes'))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" List.length) ("_position" bytes')) ### ("_applC" ("_position" List.length) ("_position" bytes))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_updates" ### ("_field_update" ("_constify" ffi_state) ### ("_position" ffi')) ### ("_field_update" ("_constify" io_events) ### ("\<^const>List.append" ### ("_applC" ("_position" io_events) ("_position" st)) ### ("_list" ### ("_applC" ("_position" IO_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_applC" ("_position" zipSameLength) ### ("_cargs" ("_position" bytes) ### ("_position" bytes'))))))))))) ### ("_tuple_arg" ("_position" bytes'))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))) ### ("_case2" ### ("_case1" ("_position" Oracle_diverge) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_diverged)))))))) ### ("_tuple_arg" ("_position" bytes)))) ### ("_case1" ("_position" Oracle_fail) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))))) ### ("_tuple" ("_position" st) ("_tuple_arg" ("_position" bytes)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" call_FFI) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" final_event) ("_position" st)) ### ("_position" None)) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ("_position" s) ### ("_String" ("_position" ''''))))) ### ("_case_syntax" ### ("_applC" ("_applC" ("_position" oracle0) ("_position" st)) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" ffi_state) ("_position" st)) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ("_position" ffi') ("_position" bytes'))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" List.length) ("_position" bytes')) ### ("_applC" ("_position" List.length) ("_position" bytes))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_updates" ### ("_datatype_field_update" ("_constify" ffi_state) ### ("_position" ffi')) ### ("_datatype_field_update" ("_constify" io_events) ### ("\<^const>List.append" ### ("_applC" ("_position" io_events) ("_position" st)) ### ("_list" ### ("_applC" ("_position" IO_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_applC" ("_position" zipSameLength) ### ("_cargs" ("_position" bytes) ### ("_position" bytes'))))))))))) ### ("_tuple_arg" ("_position" bytes'))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))) ### ("_case2" ### ("_case1" ("_position" Oracle_diverge) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_diverged)))))))) ### ("_tuple_arg" ("_position" bytes)))) ### ("_case1" ("_position" Oracle_fail) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))))) ### ("_tuple" ("_position" st) ("_tuple_arg" ("_position" bytes)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" call_FFI) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" final_event) ("_position" st)) ### ("_position" None)) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ("_position" s) ### ("_String" ("_position" ''''))))) ### ("_case_syntax" ### ("_applC" ("_applC" ("_position" oracle0) ("_position" st)) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" ffi_state) ("_position" st)) ### ("_cargs" ("_position" conf) ("_position" bytes))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ("_position" ffi') ("_position" bytes'))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" List.length) ("_position" bytes')) ### ("_applC" ("_position" List.length) ("_position" bytes))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_updates" ### ("_field_update" ("_constify" ffi_state) ### ("_position" ffi')) ### ("_field_update" ("_constify" io_events) ### ("\<^const>List.append" ### ("_applC" ("_position" io_events) ("_position" st)) ### ("_list" ### ("_applC" ("_position" IO_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_applC" ("_position" zipSameLength) ### ("_cargs" ("_position" bytes) ### ("_position" bytes'))))))))))) ### ("_tuple_arg" ("_position" bytes'))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))) ### ("_case2" ### ("_case1" ("_position" Oracle_diverge) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_diverged)))))))) ### ("_tuple_arg" ("_position" bytes)))) ### ("_case1" ("_position" Oracle_fail) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" final_event) ### ("_applC" ("_position" Some) ### ("_applC" ("_position" Final_event) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" conf) ### ("_cargs" ("_position" bytes) ### ("_position" FFI_failed)))))))) ### ("_tuple_arg" ("_position" bytes))))))) ### ("_tuple" ("_position" st) ("_tuple_arg" ("_position" bytes)))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### theory "CakeML.Ffi" ### 8.653s elapsed time, 17.264s cpu time, 1.280s GC time Loading theory "CakeML.SimpleIO" Found termination order: "{}" ### Ambiguous input (line 33 of "~~/afp/thys/CakeML/generated/CakeML/SimpleIO.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" getChar) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" conf) ### ("\<^const>List.list.Cons" ("_position" x) ("_position" xs))))) ### ("_case_syntax" ### ("_applC" ("_position" lhd') ### ("_applC" ("_position" input) ("_position" st))) ### ("_case2" ### ("_case1" ("_applC" ("_position" Some) ("_position" y)) ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" input) ### ("_applC" ("_position" Option.the) ### ("_applC" ("_position" ltl') ### ("_applC" ("_position" input) ("_position" st)))))) ### ("\<^const>List.list.Cons" ("_position" y) ### ("_position" xs))))) ### ("_case1" ("\<^const>Pure.dummy_pattern") ### ("_position" Oracle_fail)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" getChar) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" conf) ### ("\<^const>List.list.Cons" ("_position" x) ("_position" xs))))) ### ("_case_syntax" ### ("_applC" ("_position" lhd') ### ("_applC" ("_position" input) ("_position" st))) ### ("_case2" ### ("_case1" ("_applC" ("_position" Some) ("_position" y)) ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" input) ### ("_applC" ("_position" Option.the) ### ("_applC" ("_position" ltl') ### ("_applC" ("_position" input) ("_position" st)))))) ### ("\<^const>List.list.Cons" ("_position" y) ### ("_position" xs))))) ### ("_case1" ("\<^const>Pure.dummy_pattern") ### ("_position" Oracle_fail)))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "{}" ### Ambiguous input (line 42 of "~~/afp/thys/CakeML/generated/CakeML/SimpleIO.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" putChar) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" conf) ("_position" input1)))) ### ("_case_syntax" ("_position" input1) ### ("_case2" ### ("_case1" ("\<^const>List.list.Nil") ("_position" Oracle_fail)) ### ("_case1" ### ("\<^const>List.list.Cons" ("_position" x) ### ("\<^const>Pure.dummy_pattern")) ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" output0) ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" x) ### ("_applC" ("_position" output0) ("_position" st)))))) ### ("_position" input1)))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" putChar) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" conf) ("_position" input1)))) ### ("_case_syntax" ("_position" input1) ### ("_case2" ### ("_case1" ("\<^const>List.list.Nil") ("_position" Oracle_fail)) ### ("_case1" ### ("\<^const>List.list.Cons" ("_position" x) ### ("\<^const>Pure.dummy_pattern")) ### ("_applC" ("_position" Oracle_return) ### ("_cargs" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" output0) ### ("_applC" ("_position" LCons) ### ("_cargs" ("_position" x) ### ("_applC" ("_position" output0) ("_position" st)))))) ### ("_position" input1)))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### theory "CakeML.SimpleIO" ### 1.853s elapsed time, 3.676s cpu time, 0.516s GC time ### Ignoring duplicate rewrite rule: ### sup ?x1 (sup ?x1 ?y1) \ sup ?x1 ?y1 Found termination order: "{}" ### theory "CakeML.Ast" ### 25.177s elapsed time, 50.132s cpu time, 3.764s GC time Loading theory "CakeML.AstAuxiliary" Loading theory "CakeML.SemanticPrimitives" (required by "CakeML.BigStep") ### theory "CakeML.AstAuxiliary" ### 0.056s elapsed time, 0.116s cpu time, 0.000s GC time ### Metis: Unused theorems: "Float.zero_float.abs_eq" ### Metis: Unused theorems: "Archimedean_Field.floor_less_cancel" Testing conjecture with Quickcheck-random... Quickcheck found a counterexample: xs = LCons a\<^sub>1 (LCons a\<^sub>1 LNil) Testing conjecture with Quickcheck-exhaustive... Quickcheck found a counterexample: xs = LCons a\<^sub>1 LNil Evaluated terms: LNil = LNil Testing conjecture with Quickcheck-narrowing... Found termination order: "{}" [1 of 4] Compiling Typerep ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3739650/Typerep.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3739650/Typerep.o ) [2 of 4] Compiling Generated_Code ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3739650/Generated_Code.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3739650/Generated_Code.o ) [3 of 4] Compiling Narrowing_Engine ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3739650/Narrowing_Engine.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3739650/Narrowing_Engine.o ) [4 of 4] Compiling Main ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3739650/Main.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3739650/Main.o ) Linking /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3739650/isabelle_quickcheck_narrowing ... Found termination order: "{}" [1 of 4] Compiling Typerep ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3747608/Typerep.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3747608/Typerep.o ) [2 of 4] Compiling Generated_Code ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3747608/Generated_Code.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3747608/Generated_Code.o ) [3 of 4] Compiling Narrowing_Engine ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3747608/Narrowing_Engine.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3747608/Narrowing_Engine.o ) [4 of 4] Compiling Main ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3747608/Main.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3747608/Main.o ) Linking /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3747608/isabelle_quickcheck_narrowing ... Found termination order: "{}" Found termination order: "{}" [1 of 4] Compiling Typerep ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3754218/Typerep.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3754218/Typerep.o ) [2 of 4] Compiling Generated_Code ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3754218/Generated_Code.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3754218/Generated_Code.o ) [3 of 4] Compiling Narrowing_Engine ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3754218/Narrowing_Engine.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3754218/Narrowing_Engine.o ) [4 of 4] Compiling Main ( /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3754218/Main.hs, /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3754218/Main.o ) Linking /tmp/isabelle-jenkins/process1446126791834747186/Quickcheck_Narrowing3754218/isabelle_quickcheck_narrowing ... Quickcheck found no counterexample. ### Rule already declared as introduction (intro) ### \?P ?a; \x. ?P x \ x = ?a\ ### \ (THE x. ?P x) = ?a ### Ignoring duplicate rewrite rule: ### \x\?A1. \ lnull x \ ### lhd (lSup ?A1) \ ### THE x. x \ lhd ` (?A1 \ {xs. \ lnull xs}) ### Rule already declared as introduction (intro) ### \?P ?a; \x. ?P x \ x = ?a\ ### \ (THE x. ?P x) = ?a ### Rule already declared as introduction (intro) ### \?P ?a; \x. ?P x \ x = ?a\ ### \ (THE x. ?P x) = ?a ### Rule already declared as introduction (intro) ### \?P ?a; \x. ?P x \ x = ?a\ ### \ (THE x. ?P x) = ?a ### Rule already declared as introduction (intro) ### \?P ?a; \x. ?P x \ x = ?a\ ### \ (THE x. ?P x) = ?a ### Ignoring duplicate rewrite rule: ### class.ccpo lSup (\) (mk_less (\)) \ True Found termination order: "(\p. size_list (\p. size (snd p)) (snd p)) <*mlex*> {}" ### Rule already declared as introduction (intro) ### ?P ?x \ \x. ?P x ### Rule already declared as introduction (intro) ### ?P ?x \ \x. ?P x ### Rule already declared as introduction (intro) ### ?P ?x \ \x. ?P x ### Introduced fixed type variable(s): 'b in "zs__" ### Rule already declared as introduction (intro) ### ?P ?x \ \x. ?P x ### Metis: Unused theorems: "Coinductive_List.lappend_llist_of_llist_of" ### Metis: Unused theorems: "Coinductive_List.lfinite_lappend", "Coinductive_List.lfinite_llist_of", "Coinductive_List.list_of_lappend", "Coinductive_List.list_of_llist_of" ### Rule already declared as introduction (intro) ### ?P ?x \ \x. ?P x ### Ambiguous input (line 373 of "~~/afp/thys/CakeML/generated/CakeML/SemanticPrimitives.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" do_opapp) ### ("_list" ### ("_args" ### ("_applC" ("_position" Closure) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" n) ("_position" e)))) ### ("_position" v2)))) ### ("_applC" ("_position" Some) ### ("_tuple" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" nsBind) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" v2) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_tuple_arg" ("_position" e)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" do_opapp) ### ("_list" ### ("_args" ### ("_applC" ("_position" Closure) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" n) ("_position" e)))) ### ("_position" v2)))) ### ("_applC" ("_position" Some) ### ("_tuple" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" nsBind) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" v2) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_tuple_arg" ("_position" e)))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 375 of "~~/afp/thys/CakeML/generated/CakeML/SemanticPrimitives.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" do_opapp) ### ("_list" ### ("_args" ### ("_applC" ("_position" Recclosure) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" funs) ("_position" n)))) ### ("_position" v2)))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" f) ### ("_tuple_args" ("_position" x) ### ("_tuple_arg" ("_position" e)))) ### ("_position" f)))) ### ("_position" funs)))) ### ("_case_syntax" ### ("_applC" ("_position" find_recfun) ### ("_cargs" ("_position" n) ("_position" funs))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Some) ### ("_tuple" ("_position" n) ("_tuple_arg" ("_position" e)))) ### ("_applC" ("_position" Some) ### ("_tuple" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" nsBind) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" v2) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" v) ### ("_position" env)))))))))) ### ("_tuple_arg" ("_position" e))))) ### ("_case1" ("_position" None) ("_position" None)))) ### ("_position" None)))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" do_opapp) ### ("_list" ### ("_args" ### ("_applC" ("_position" Recclosure) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" funs) ("_position" n)))) ### ("_position" v2)))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" f) ### ("_tuple_args" ("_position" x) ### ("_tuple_arg" ("_position" e)))) ### ("_position" f)))) ### ("_position" funs)))) ### ("_case_syntax" ### ("_applC" ("_position" find_recfun) ### ("_cargs" ("_position" n) ("_position" funs))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Some) ### ("_tuple" ("_position" n) ("_tuple_arg" ("_position" e)))) ### ("_applC" ("_position" Some) ### ("_tuple" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" nsBind) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" v2) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" v) ### ("_position" env)))))))))) ### ("_tuple_arg" ("_position" e))))) ### ("_case1" ("_position" None) ("_position" None)))) ### ("_position" None)))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "{}" ### Introduced fixed type variable(s): 'b in "xs__" Found termination order: "{}" ### Metis: Unused theorems: "Coinductive_Nat.enat_le_plus_same_2" ### Metis: Unused theorems: "Coinductive_Nat.enat_le_plus_same_1" Found termination order: "{}" Found termination order: "{}" Found termination order: "{}" Found termination order: "{}" Found termination order: "{}" Found termination order: "{}" Found termination order: "(\p. size (snd p)) <*mlex*> {}" ### Rule already declared as introduction (intro) ### ?P ?x \ \x. ?P x Found termination order: "{}" Found termination order: "{}" ### Ambiguous input (line 935 of "~~/afp/thys/CakeML/generated/CakeML/SemanticPrimitives.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" combine_dec_result) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" Rval) ("_position" env')))) ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" v) ("_position" env')) ### ("_applC" ("_position" v) ("_position" env))))) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" c) ("_position" env')) ### ("_applC" ("_position" c) ("_position" env)))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" combine_dec_result) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" Rval) ("_position" env')))) ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" v) ("_position" env')) ### ("_applC" ("_position" v) ("_position" env))))) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" c) ("_position" env')) ### ("_applC" ("_position" c) ("_position" env)))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "{}" ### Ambiguous input (line 940 of "~~/afp/thys/CakeML/generated/CakeML/SemanticPrimitives.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" extend_dec_env) ### ("_cargs" ("_position" new_env) ("_position" env))) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" v) ("_position" new_env)) ### ("_applC" ("_position" v) ("_position" env))))) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" c) ("_position" new_env)) ### ("_applC" ("_position" c) ("_position" env))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" extend_dec_env) ### ("_cargs" ("_position" new_env) ("_position" env))) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" v) ("_position" new_env)) ### ("_applC" ("_position" v) ("_position" env))))) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" c) ("_position" new_env)) ### ("_applC" ("_position" c) ("_position" env))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### theory "CakeML.SemanticPrimitives" ### 31.584s elapsed time, 59.428s cpu time, 3.128s GC time Loading theory "CakeML.Evaluate" ### Ambiguous input (line 28 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fix_clock) ### ("_cargs" ("_position" s) ### ("_tuple" ("_position" s') ("_tuple_arg" ("_position" res))))) ### ("_tuple" ### ("_record_update" ("_position" s') ### ("_field_update" ("_constify" clock) ### ("\<^const>HOL.If" ### ("\<^const>Orderings.ord_class.less_eq" ### ("_applC" ("_position" clock) ("_position" s')) ### ("_applC" ("_position" clock) ("_position" s))) ### ("_applC" ("_position" clock) ("_position" s')) ### ("_applC" ("_position" clock) ("_position" s))))) ### ("_tuple_arg" ("_position" res))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fix_clock) ### ("_cargs" ("_position" s) ### ("_tuple" ("_position" s') ("_tuple_arg" ("_position" res))))) ### ("_tuple" ### ("_datatype_record_update" ("_position" s') ### ("_datatype_field_update" ("_constify" clock) ### ("\<^const>HOL.If" ### ("\<^const>Orderings.ord_class.less_eq" ### ("_applC" ("_position" clock) ("_position" s')) ### ("_applC" ("_position" clock) ("_position" s))) ### ("_applC" ("_position" clock) ("_position" s')) ### ("_applC" ("_position" clock) ("_position" s))))) ### ("_tuple_arg" ("_position" res))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Loading theory "CakeML.SmallStep" (required by "CakeML.BigStep") Found termination order: "{}" ### Ambiguous input (line 34 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ("_applC" ("_position" dec_clock) ("_position" s)) ### ("_datatype_record_update" ("_position" s) ### ("_datatype_field_update" ("_constify" clock) ### ("\<^const>Groups.minus_class.minus" ### ("_applC" ("_position" clock) ("_position" s)) ### ("_constrain" ("\<^const>Groups.one_class.one") ### ("_type_name" nat))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ("_applC" ("_position" dec_clock) ("_position" s)) ### ("_record_update" ("_position" s) ### ("_field_update" ("_constify" clock) ### ("\<^const>Groups.minus_class.minus" ### ("_applC" ("_position" clock) ("_position" s)) ### ("_constrain" ("\<^const>Groups.one_class.one") ### ("_type_name" nat))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "{}" ### Ambiguous input (line 99 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" App) ### ("_cargs" ("_position" op1) ("_position" es))))))) ### ("_case_syntax" ### ("_applC" ("_position" fix_clock) ### ("_cargs" ("_position" st) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" List.rev) ("_position" es))))))) ### ("_case2" ### ("_case1" ### ("_tuple" ("_position" st') ### ("_tuple_arg" ("_applC" ("_position" Rval) ("_position" vs)))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ("_position" op1) ("_position" Opapp)) ### ("_case_syntax" ### ("_applC" ("_position" do_opapp) ### ("_applC" ("_position" List.rev) ("_position" vs))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Some) ### ("_tuple" ("_position" env') ### ("_tuple_arg" ("_position" e)))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" clock) ("_position" st')) ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat))) ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtimeout_error))))) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ### ("_applC" ("_position" dec_clock) ("_position" st')) ### ("_cargs" ("_position" env') ### ("_list" ("_position" e))))))) ### ("_case1" ("_position" None) ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error)))))))) ### ("_case_syntax" ### ("_applC" ("_position" do_app) ### ("_cargs" ### ("_tuple" ("_applC" ("_position" refs) ("_position" st')) ### ("_tuple_arg" ### ("_applC" ("_position" ffi) ("_position" st')))) ### ("_cargs" ("_position" op1) ### ("_applC" ("_position" List.rev) ("_position" vs))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Some) ### ("_tuple" ### ("_tuple" ("_position" refs1) ### ("_tuple_arg" ("_position" ffi1))) ### ("_tuple_arg" ("_position" r)))) ### ("_tuple" ### ("_record_update" ("_position" st') ### ("_field_updates" ### ("_field_update" ("_constify" refs) ### ("_position" refs1)) ### ("_field_update" ("_constify" ffi) ### ("_position" ffi1)))) ### ("_tuple_arg" ### ("_applC" ("_position" list_result) ### ("_position" r))))) ### ("_case1" ("_position" None) ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error)))))))))) ### ("_case1" ("_position" res) ("_position" res)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" App) ### ("_cargs" ("_position" op1) ("_position" es))))))) ### ("_case_syntax" ### ("_applC" ("_position" fix_clock) ### ("_cargs" ("_position" st) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" List.rev) ("_position" es))))))) ### ("_case2" ### ("_case1" ### ("_tuple" ("_position" st') ### ("_tuple_arg" ("_applC" ("_position" Rval) ("_position" vs)))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ("_position" op1) ("_position" Opapp)) ### ("_case_syntax" ### ("_applC" ("_position" do_opapp) ### ("_applC" ("_position" List.rev) ("_position" vs))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Some) ### ("_tuple" ("_position" env') ### ("_tuple_arg" ("_position" e)))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" clock) ("_position" st')) ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat))) ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtimeout_error))))) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ### ("_applC" ("_position" dec_clock) ("_position" st')) ### ("_cargs" ("_position" env') ### ("_list" ("_position" e))))))) ### ("_case1" ("_position" None) ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error)))))))) ### ("_case_syntax" ### ("_applC" ("_position" do_app) ### ("_cargs" ### ("_tuple" ("_applC" ("_position" refs) ("_position" st')) ### ("_tuple_arg" ### ("_applC" ("_position" ffi) ("_position" st')))) ### ("_cargs" ("_position" op1) ### ("_applC" ("_position" List.rev) ("_position" vs))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Some) ### ("_tuple" ### ("_tuple" ("_position" refs1) ### ("_tuple_arg" ("_position" ffi1))) ### ("_tuple_arg" ("_position" r)))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st') ### ("_datatype_field_updates" ### ("_datatype_field_update" ("_constify" refs) ### ("_position" refs1)) ### ("_datatype_field_update" ("_constify" ffi) ### ("_position" ffi1)))) ### ("_tuple_arg" ### ("_applC" ("_position" list_result) ### ("_position" r))))) ### ("_case1" ("_position" None) ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error)))))))))) ### ("_case1" ("_position" res) ("_position" res)))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 147 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Let) ### ("_cargs" ("_position" xo) ### ("_cargs" ("_position" e1) ("_position" e2)))))))) ### ("_case_syntax" ### ("_applC" ("_position" fix_clock) ### ("_cargs" ("_position" st) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("_list" ("_position" e1))))))) ### ("_case2" ### ("_case1" ### ("_tuple" ("_position" st') ### ("_tuple_arg" ("_applC" ("_position" Rval) ("_position" v2)))) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st') ### ("_cargs" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" nsOptBind) ### ("_cargs" ("_position" xo) ### ("_cargs" ### ("_applC" ("_position" List.hd) ("_position" v2)) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_list" ("_position" e2)))))) ### ("_case1" ("_position" res) ("_position" res)))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Let) ### ("_cargs" ("_position" xo) ### ("_cargs" ("_position" e1) ("_position" e2)))))))) ### ("_case_syntax" ### ("_applC" ("_position" fix_clock) ### ("_cargs" ("_position" st) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("_list" ("_position" e1))))))) ### ("_case2" ### ("_case1" ### ("_tuple" ("_position" st') ### ("_tuple_arg" ("_applC" ("_position" Rval) ("_position" v2)))) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st') ### ("_cargs" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" nsOptBind) ### ("_cargs" ("_position" xo) ### ("_cargs" ### ("_applC" ("_position" List.hd) ("_position" v2)) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_list" ("_position" e2)))))) ### ("_case1" ("_position" res) ("_position" res)))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 153 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Letrec) ### ("_cargs" ("_position" funs) ("_position" e))))))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" x) ### ("_tuple_args" ("_position" y) ### ("_tuple_arg" ("_position" z)))) ### ("_position" x)))) ### ("_position" funs)))) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_list" ("_position" e))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Letrec) ### ("_cargs" ("_position" funs) ("_position" e))))))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" x) ### ("_tuple_args" ("_position" y) ### ("_tuple_arg" ("_position" z)))) ### ("_position" x)))) ### ("_position" funs)))) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_list" ("_position" e))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 168 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_match) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" v2) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_tuple" ("_position" p) ("_tuple_arg" ("_position" e))) ### ("_position" pes)) ### ("_position" err_v)))))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("_case_syntax" ### ("_applC" ("_position" pmatch) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_applC" ("_position" refs) ("_position" st)) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" v2) ("\<^const>List.list.Nil")))))) ### ("_case2" ### ("_case1" ("_applC" ("_position" Match) ("_position" env_v')) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ### ("_applC" ("_position" alist_to_ns) ### ("_position" env_v')) ### ("_applC" ("_position" v) ("_position" env)))))) ### ("_list" ("_position" e)))))) ### ("_case2" ### ("_case1" ("_position" No_match) ### ("_applC" ("_position" fun_evaluate_match) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" v2) ### ("_cargs" ("_position" pes) ("_position" err_v))))))) ### ("_case1" ("_position" Match_type_error) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_match) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" v2) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_tuple" ("_position" p) ("_tuple_arg" ("_position" e))) ### ("_position" pes)) ### ("_position" err_v)))))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("_case_syntax" ### ("_applC" ("_position" pmatch) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_applC" ("_position" refs) ("_position" st)) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" v2) ("\<^const>List.list.Nil")))))) ### ("_case2" ### ("_case1" ("_applC" ("_position" Match) ("_position" env_v')) ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ### ("_applC" ("_position" alist_to_ns) ### ("_position" env_v')) ### ("_applC" ("_position" v) ("_position" env)))))) ### ("_list" ("_position" e)))))) ### ("_case2" ### ("_case1" ("_position" No_match) ### ("_applC" ("_position" fun_evaluate_match) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" v2) ### ("_cargs" ("_position" pes) ("_position" err_v))))))) ### ("_case1" ("_position" Match_type_error) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 128 of "~~/afp/thys/CakeML/generated/CakeML/SmallStep.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" continue) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" v2) ### ("\<^const>List.list.Cons" ### ("_tuple" ### ("_applC" ("_position" Cmat) ### ("_cargs" ("\<^const>Pure.dummy_pattern") ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_tuple" ("_position" p) ### ("_tuple_arg" ("_position" e))) ### ("_position" pes)) ### ("_position" err_v)))) ### ("_tuple_arg" ("_position" env))) ### ("_position" c2))))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("_case_syntax" ### ("_applC" ("_position" pmatch) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_applC" ("_position" fst) ("_position" s)) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" v2) ("\<^const>List.list.Nil")))))) ### ("_case2" ### ("_case1" ("_position" Match_type_error) ### ("_applC" ("_position" Eabort) ("_position" Rtype_error))) ### ("_case2" ### ("_case1" ("_position" No_match) ### ("_applC" ("_position" Estep) ### ("_tuple" ("_position" env) ### ("_tuple_args" ("_position" s) ### ("_tuple_args" ### ("_applC" ("_position" Val) ("_position" v2)) ### ("_tuple_arg" ### ("\<^const>List.list.Cons" ### ("_tuple" ### ("_applC" ("_position" Cmat) ### ("_cargs" ("\<^const>Product_Type.Unity") ### ("_cargs" ("_position" pes) ### ("_position" err_v)))) ### ("_tuple_arg" ("_position" env))) ### ("_position" c2)))))))) ### ("_case1" ("_applC" ("_position" Match) ("_position" env')) ### ("_applC" ("_position" Estep) ### ("_tuple" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ### ("_applC" ("_position" alist_to_ns) ### ("_position" env')) ### ("_applC" ("_position" v) ("_position" env)))))) ### ("_tuple_args" ("_position" s) ### ("_tuple_args" ### ("_applC" ("_position" Exp) ("_position" e)) ### ("_tuple_arg" ("_position" c2)))))))))) ### ("_applC" ("_position" Eabort) ("_position" Rtype_error))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" continue) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" v2) ### ("\<^const>List.list.Cons" ### ("_tuple" ### ("_applC" ("_position" Cmat) ### ("_cargs" ("\<^const>Pure.dummy_pattern") ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_tuple" ("_position" p) ### ("_tuple_arg" ("_position" e))) ### ("_position" pes)) ### ("_position" err_v)))) ### ("_tuple_arg" ("_position" env))) ### ("_position" c2))))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("_case_syntax" ### ("_applC" ("_position" pmatch) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_applC" ("_position" fst) ("_position" s)) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" v2) ("\<^const>List.list.Nil")))))) ### ("_case2" ### ("_case1" ("_position" Match_type_error) ### ("_applC" ("_position" Eabort) ("_position" Rtype_error))) ### ("_case2" ### ("_case1" ("_position" No_match) ### ("_applC" ("_position" Estep) ### ("_tuple" ("_position" env) ### ("_tuple_args" ("_position" s) ### ("_tuple_args" ### ("_applC" ("_position" Val) ("_position" v2)) ### ("_tuple_arg" ### ("\<^const>List.list.Cons" ### ("_tuple" ### ("_applC" ("_position" Cmat) ### ("_cargs" ("\<^const>Product_Type.Unity") ### ("_cargs" ("_position" pes) ### ("_position" err_v)))) ### ("_tuple_arg" ("_position" env))) ### ("_position" c2)))))))) ### ("_case1" ("_applC" ("_position" Match) ("_position" env')) ### ("_applC" ("_position" Estep) ### ("_tuple" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ### ("_applC" ("_position" alist_to_ns) ### ("_position" env')) ### ("_applC" ("_position" v) ("_position" env)))))) ### ("_tuple_args" ("_position" s) ### ("_tuple_args" ### ("_applC" ("_position" Exp) ("_position" e)) ### ("_tuple_arg" ("_position" c2)))))))))) ### ("_applC" ("_position" Eabort) ("_position" Rtype_error))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 137 of "~~/afp/thys/CakeML/generated/CakeML/SmallStep.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" continue) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" v2) ### ("\<^const>List.list.Cons" ### ("_tuple" ### ("_applC" ("_position" Clet) ### ("_cargs" ("_position" n) ### ("_cargs" ("\<^const>Pure.dummy_pattern") ### ("_position" e)))) ### ("_tuple_arg" ("_position" env))) ### ("_position" c2))))) ### ("_applC" ("_position" Estep) ### ("_tuple" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" nsOptBind) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" v2) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_tuple_args" ("_position" s) ### ("_tuple_args" ("_applC" ("_position" Exp) ("_position" e)) ### ("_tuple_arg" ("_position" c2)))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" continue) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" v2) ### ("\<^const>List.list.Cons" ### ("_tuple" ### ("_applC" ("_position" Clet) ### ("_cargs" ("_position" n) ### ("_cargs" ("\<^const>Pure.dummy_pattern") ### ("_position" e)))) ### ("_tuple_arg" ("_position" env))) ### ("_position" c2))))) ### ("_applC" ("_position" Estep) ### ("_tuple" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" nsOptBind) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" v2) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_tuple_args" ("_position" s) ### ("_tuple_args" ("_applC" ("_position" Exp) ("_position" e)) ### ("_tuple_arg" ("_position" c2)))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 184 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("\<^const>List.list.Nil"))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ("_position" nsEmpty))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("\<^const>List.list.Nil"))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 195 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dlet) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" p) ("_position" e))))))))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("_case_syntax" ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("_list" ("_position" e))))) ### ("_case2" ### ("_case1" ### ("_tuple" ("_position" st') ### ("_tuple_arg" ("_applC" ("_position" Rval) ("_position" v2)))) ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_case_syntax" ### ("_applC" ("_position" pmatch) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ### ("_applC" ("_position" refs) ("_position" st')) ### ("_cargs" ("_position" p) ### ("_cargs" ### ("_applC" ("_position" List.hd) ### ("_position" v2)) ### ("\<^const>List.list.Nil")))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Match) ("_position" new_vals)) ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" alist_to_ns) ### ("_position" new_vals))) ### ("_field" ("_constify" c) ### ("_position" nsEmpty)))))) ### ("_case2" ### ("_case1" ("_position" No_match) ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rraise) ### ("_position" Bindv)))) ### ("_case1" ("_position" Match_type_error) ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error)))))))))) ### ("_case1" ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ("_position" err)))) ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ("_position" err))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dlet) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" p) ("_position" e))))))))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("_case_syntax" ### ("_applC" ("_position" fun_evaluate) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("_list" ("_position" e))))) ### ("_case2" ### ("_case1" ### ("_tuple" ("_position" st') ### ("_tuple_arg" ("_applC" ("_position" Rval) ("_position" v2)))) ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_case_syntax" ### ("_applC" ("_position" pmatch) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ### ("_applC" ("_position" refs) ("_position" st')) ### ("_cargs" ("_position" p) ### ("_cargs" ### ("_applC" ("_position" List.hd) ### ("_position" v2)) ### ("\<^const>List.list.Nil")))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Match) ("_position" new_vals)) ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" alist_to_ns) ### ("_position" new_vals))) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty)))))) ### ("_case2" ### ("_case1" ("_position" No_match) ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rraise) ### ("_position" Bindv)))) ### ("_case1" ("_position" Match_type_error) ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error)))))))))) ### ("_case1" ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ("_position" err)))) ### ("_tuple" ("_position" st') ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ("_position" err))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 210 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dletrec) ### ("_cargs" ("_position" locs) ("_position" funs)))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("\<^const>HOL.If" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" x) ### ("_tuple_args" ("_position" y) ### ("_tuple_arg" ("_position" z)))) ### ("_position" x)))) ### ("_position" funs)))) ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ("_position" nsEmpty))))) ### ("_datatype_field" ("_constify" c) ("_position" nsEmpty))))) ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dletrec) ### ("_cargs" ("_position" locs) ("_position" funs)))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("\<^const>HOL.If" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" x) ### ("_tuple_args" ("_position" y) ### ("_tuple_arg" ("_position" z)))) ### ("_position" x)))) ### ("_position" funs)))) ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ("_position" nsEmpty))))) ### ("_field" ("_constify" c) ("_position" nsEmpty))))) ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 218 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 4 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tds)))))))) ### ("_Let" ### ("_bind" ("_position" new_tdecs) ### ("_applC" ("_position" type_defs_to_new_tdecs) ### ("_cargs" ("_position" mn) ("_position" tds)))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_dup_ctors) ("_position" tds)) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" st)))) ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_position" tn)))) ### ("_position" tds)))))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" st))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" build_tdefs) ### ("_cargs" ("_position" mn) ("_position" tds))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tds)))))))) ### ("_Let" ### ("_bind" ("_position" new_tdecs) ### ("_applC" ("_position" type_defs_to_new_tdecs) ### ("_cargs" ("_position" mn) ("_position" tds)))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_dup_ctors) ("_position" tds)) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" st)))) ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_position" tn)))) ### ("_position" tds)))))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" st))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" build_tdefs) ### ("_cargs" ("_position" mn) ("_position" tds))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tds)))))))) ### ("_Let" ### ("_bind" ("_position" new_tdecs) ### ("_applC" ("_position" type_defs_to_new_tdecs) ### ("_cargs" ("_position" mn) ("_position" tds)))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_dup_ctors) ("_position" tds)) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" st)))) ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_position" tn)))) ### ("_position" tds)))))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" st))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_applC" ("_position" build_tdefs) ### ("_cargs" ("_position" mn) ("_position" tds))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tds)))))))) ### ("_Let" ### ("_bind" ("_position" new_tdecs) ### ("_applC" ("_position" type_defs_to_new_tdecs) ### ("_cargs" ("_position" mn) ("_position" tds)))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_dup_ctors) ("_position" tds)) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" st)))) ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_position" tn)))) ### ("_position" tds)))))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" st))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_applC" ("_position" build_tdefs) ### ("_cargs" ("_position" mn) ("_position" tds))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ### ("_position" Rtype_error))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 230 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dtabbrev) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" tvs) ### ("_cargs" ("_position" tn) ("_position" t1)))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ("_position" nsEmpty))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dtabbrev) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" tvs) ### ("_cargs" ("_position" tn) ("_position" t1)))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 233 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 4 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts))))))))) ### ("\<^const>HOL.If" ### ("\<^const>Set.member" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))) ### ("_applC" ("_position" defined_types) ("_position" st))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error))))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ### ("_Finset" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))))) ### ("_applC" ("_position" defined_types) ("_position" st))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ### ("_applC" ("_position" List.length) ### ("_position" ts)) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts))))))))) ### ("\<^const>HOL.If" ### ("\<^const>Set.member" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))) ### ("_applC" ("_position" defined_types) ("_position" st))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error))))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ### ("_Finset" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))))) ### ("_applC" ("_position" defined_types) ("_position" st))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ### ("_applC" ("_position" List.length) ### ("_position" ts)) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts))))))))) ### ("\<^const>HOL.If" ### ("\<^const>Set.member" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))) ### ("_applC" ("_position" defined_types) ("_position" st))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error))))) ### ("_tuple" ### ("_record_update" ("_position" st) ### ("_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ### ("_Finset" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))))) ### ("_applC" ("_position" defined_types) ("_position" st))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ### ("_applC" ("_position" List.length) ### ("_position" ts)) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts))))))))) ### ("\<^const>HOL.If" ### ("\<^const>Set.member" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))) ### ("_applC" ("_position" defined_types) ("_position" st))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error))))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st) ### ("_datatype_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ### ("_Finset" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))))) ### ("_applC" ("_position" defined_types) ("_position" st))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ### ("_applC" ("_position" List.length) ### ("_position" ts)) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "{}" ### Ambiguous input (line 168 of "~~/afp/thys/CakeML/generated/CakeML/SmallStep.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" e_step) ### ("_tuple" ("_position" env) ### ("_tuple_args" ("_position" s) ### ("_tuple_args" ("_applC" ("_position" Exp) ("_position" e)) ### ("_tuple_arg" ("_position" c2)))))) ### ("_case_syntax" ("_position" e) ### ("_case2" ### ("_case1" ("_applC" ("_position" Lit) ("_position" l)) ### ("_applC" ("_position" return) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" Litv) ("_position" l)) ### ("_position" c2)))))) ### ("_case2" ### ("_case1" ("_applC" ("_position" Raise) ("_position" e)) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Craise) ### ("\<^const>Product_Type.Unity")) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Handle) ### ("_cargs" ("_position" e) ("_position" pes))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Chandle) ### ("_cargs" ("\<^const>Product_Type.Unity") ### ("_position" pes))) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Con) ### ("_cargs" ("_position" n) ("_position" es))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" do_con_check) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_position" n) ### ("_applC" ("_position" List.length) ### ("_position" es))))) ### ("_case_syntax" ### ("_applC" ("_position" List.rev) ("_position" es)) ### ("_case2" ### ("_case1" ("\<^const>List.list.Nil") ### ("_case_syntax" ### ("_applC" ("_position" build_conv) ### ("_cargs" ### ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_position" n) ### ("\<^const>List.list.Nil")))) ### ("_case2" ### ("_case1" ("_position" None) ### ("_applC" ("_position" Eabort) ### ("_position" Rtype_error))) ### ("_case1" ### ("_applC" ("_position" Some) ("_position" v2)) ### ("_applC" ("_position" return) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" v2) ### ("_position" c2))))))))) ### ("_case1" ### ("\<^const>List.list.Cons" ("_position" e) ### ("_position" es)) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Ccon) ### ("_cargs" ("_position" n) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" es))))) ### ("_position" c2))))))))) ### ("_applC" ("_position" Eabort) ### ("_position" Rtype_error)))) ### ("_case2" ### ("_case1" ("_applC" ("_position" Var) ("_position" n)) ### ("_case_syntax" ### ("_applC" ("_position" nsLookup) ### ("_cargs" ("_applC" ("_position" v) ("_position" env)) ### ("_position" n))) ### ("_case2" ### ("_case1" ("_position" None) ### ("_applC" ("_position" Eabort) ### ("_position" Rtype_error))) ### ("_case1" ### ("_applC" ("_position" Some) ("_position" v2)) ### ("_applC" ("_position" return) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" v2) ### ("_position" c2))))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Fun) ### ("_cargs" ("_position" n) ("_position" e))) ### ("_applC" ("_position" return) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Closure) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" n) ("_position" e)))) ### ("_position" c2)))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" App) ### ("_cargs" ("_position" op1) ("_position" es))) ### ("_case_syntax" ### ("_applC" ("_position" List.rev) ("_position" es)) ### ("_case2" ### ("_case1" ("\<^const>List.list.Nil") ### ("_applC" ("_position" application) ### ("_cargs" ("_position" op1) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_position" c2))))))) ### ("_case1" ### ("\<^const>List.list.Cons" ("_position" e) ### ("_position" es)) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Capp) ### ("_cargs" ("_position" op1) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" es))))) ### ("_position" c2)))))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Log) ### ("_cargs" ("_position" l) ### ("_cargs" ("_position" e1) ("_position" e2)))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e1) ### ("_cargs" ### ("_applC" ("_position" Clog) ### ("_cargs" ("_position" l) ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" e2)))) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" If) ### ("_cargs" ("_position" e1) ### ("_cargs" ("_position" e2) ("_position" e3)))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e1) ### ("_cargs" ### ("_applC" ("_position" Cif) ### ("_cargs" ("\<^const>Product_Type.Unity") ### ("_cargs" ("_position" e2) ("_position" e3)))) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Mat) ### ("_cargs" ("_position" e) ("_position" pes))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Cmat) ### ("_cargs" ("\<^const>Product_Type.Unity") ### ("_cargs" ("_position" pes) ### ("_applC" ("_position" Conv) ### ("_cargs" ### ("_applC" ("_position" Some) ### ("_tuple" ("_String" ("_position" ''Bind'')) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" Short) ### ("_String" ("_position" ''Bind''))))))) ### ("\<^const>List.list.Nil")))))) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Let) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" e1) ### ("_position" e2)))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e1) ### ("_cargs" ### ("_applC" ("_position" Clet) ### ("_cargs" ("_position" n) ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" e2)))) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Letrec) ### ("_cargs" ("_position" funs) ### ("_position" e))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.Not" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" x) ### ("_tuple_args" ("_position" y) ("_tuple_arg" ("_position" z)))) ### ("_position" x)))) ### ("_position" funs))))) ### ("_applC" ("_position" Eabort) ### ("_position" Rtype_error)) ### ("_applC" ("_position" Estep) ### ("_tuple" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_tuple_args" ("_position" s) ### ("_tuple_args" ("_applC" ("_position" Exp) ("_position" e)) ### ("_tuple_arg" ("_position" c2)))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Tannot) ### ("_cargs" ("_position" e) ### ("_position" t1))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Ctannot) ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" t1))) ### ("_position" c2))))))) ### ("_case1" ### ("_applC" ("_position" Lannot) ### ("_cargs" ("_position" e) ### ("_position" l))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Clannot) ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" l))) ### ("_position" c2))))))))))))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" e_step) ### ("_tuple" ("_position" env) ### ("_tuple_args" ("_position" s) ### ("_tuple_args" ("_applC" ("_position" Exp) ("_position" e)) ### ("_tuple_arg" ("_position" c2)))))) ### ("_case_syntax" ("_position" e) ### ("_case2" ### ("_case1" ("_applC" ("_position" Lit) ("_position" l)) ### ("_applC" ("_position" return) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_applC" ("_position" Litv) ("_position" l)) ### ("_position" c2)))))) ### ("_case2" ### ("_case1" ("_applC" ("_position" Raise) ("_position" e)) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Craise) ### ("\<^const>Product_Type.Unity")) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Handle) ### ("_cargs" ("_position" e) ("_position" pes))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Chandle) ### ("_cargs" ("\<^const>Product_Type.Unity") ### ("_position" pes))) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Con) ### ("_cargs" ("_position" n) ("_position" es))) ### ("\<^const>HOL.If" ### ("_applC" ("_position" do_con_check) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_position" n) ### ("_applC" ("_position" List.length) ### ("_position" es))))) ### ("_case_syntax" ### ("_applC" ("_position" List.rev) ("_position" es)) ### ("_case2" ### ("_case1" ("\<^const>List.list.Nil") ### ("_case_syntax" ### ("_applC" ("_position" build_conv) ### ("_cargs" ### ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_position" n) ### ("\<^const>List.list.Nil")))) ### ("_case2" ### ("_case1" ("_position" None) ### ("_applC" ("_position" Eabort) ### ("_position" Rtype_error))) ### ("_case1" ### ("_applC" ("_position" Some) ("_position" v2)) ### ("_applC" ("_position" return) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" v2) ### ("_position" c2))))))))) ### ("_case1" ### ("\<^const>List.list.Cons" ("_position" e) ### ("_position" es)) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Ccon) ### ("_cargs" ("_position" n) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" es))))) ### ("_position" c2))))))))) ### ("_applC" ("_position" Eabort) ### ("_position" Rtype_error)))) ### ("_case2" ### ("_case1" ("_applC" ("_position" Var) ("_position" n)) ### ("_case_syntax" ### ("_applC" ("_position" nsLookup) ### ("_cargs" ("_applC" ("_position" v) ("_position" env)) ### ("_position" n))) ### ("_case2" ### ("_case1" ("_position" None) ### ("_applC" ("_position" Eabort) ### ("_position" Rtype_error))) ### ("_case1" ### ("_applC" ("_position" Some) ("_position" v2)) ### ("_applC" ("_position" return) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" v2) ### ("_position" c2))))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Fun) ### ("_cargs" ("_position" n) ("_position" e))) ### ("_applC" ("_position" return) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Closure) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" n) ("_position" e)))) ### ("_position" c2)))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" App) ### ("_cargs" ("_position" op1) ("_position" es))) ### ("_case_syntax" ### ("_applC" ("_position" List.rev) ("_position" es)) ### ("_case2" ### ("_case1" ("\<^const>List.list.Nil") ### ("_applC" ("_position" application) ### ("_cargs" ("_position" op1) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_position" c2))))))) ### ("_case1" ### ("\<^const>List.list.Cons" ("_position" e) ### ("_position" es)) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Capp) ### ("_cargs" ("_position" op1) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" es))))) ### ("_position" c2)))))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Log) ### ("_cargs" ("_position" l) ### ("_cargs" ("_position" e1) ("_position" e2)))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e1) ### ("_cargs" ### ("_applC" ("_position" Clog) ### ("_cargs" ("_position" l) ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" e2)))) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" If) ### ("_cargs" ("_position" e1) ### ("_cargs" ("_position" e2) ("_position" e3)))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e1) ### ("_cargs" ### ("_applC" ("_position" Cif) ### ("_cargs" ("\<^const>Product_Type.Unity") ### ("_cargs" ("_position" e2) ("_position" e3)))) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Mat) ### ("_cargs" ("_position" e) ("_position" pes))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Cmat) ### ("_cargs" ("\<^const>Product_Type.Unity") ### ("_cargs" ("_position" pes) ### ("_applC" ("_position" Conv) ### ("_cargs" ### ("_applC" ("_position" Some) ### ("_tuple" ("_String" ("_position" ''Bind'')) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" Short) ### ("_String" ("_position" ''Bind''))))))) ### ("\<^const>List.list.Nil")))))) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Let) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" e1) ### ("_position" e2)))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e1) ### ("_cargs" ### ("_applC" ("_position" Clet) ### ("_cargs" ("_position" n) ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" e2)))) ### ("_position" c2))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Letrec) ### ("_cargs" ("_position" funs) ### ("_position" e))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.Not" ### ("_applC" ("_position" allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" x) ### ("_tuple_args" ("_position" y) ("_tuple_arg" ("_position" z)))) ### ("_position" x)))) ### ("_position" funs))))) ### ("_applC" ("_position" Eabort) ### ("_position" Rtype_error)) ### ("_applC" ("_position" Estep) ### ("_tuple" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_tuple_args" ("_position" s) ### ("_tuple_args" ("_applC" ("_position" Exp) ("_position" e)) ### ("_tuple_arg" ("_position" c2)))))))) ### ("_case2" ### ("_case1" ### ("_applC" ("_position" Tannot) ### ("_cargs" ("_position" e) ### ("_position" t1))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Ctannot) ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" t1))) ### ("_position" c2))))))) ### ("_case1" ### ("_applC" ("_position" Lannot) ### ("_cargs" ("_position" e) ### ("_position" l))) ### ("_applC" ("_position" push) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ### ("_cargs" ### ("_applC" ("_position" Clannot) ### ("_cargs" ("\<^const>Product_Type.Unity") ("_position" l))) ### ("_position" c2))))))))))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "{}" Found termination order: "(\p. size_list size (snd (snd (snd p)))) <*mlex*> {}" ### Ambiguous input (line 243 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" envLift) ### ("_cargs" ("_position" mn) ("_position" env))) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v) ("_position" env))))) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c) ("_position" env))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" envLift) ### ("_cargs" ("_position" mn) ("_position" env))) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v) ("_position" env))))) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c) ("_position" env))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 251 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" evaluate_tops) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("\<^const>List.list.Nil")))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ("_position" nsEmpty))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" evaluate_tops) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("\<^const>List.list.Nil")))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 264 of "~~/afp/thys/CakeML/generated/CakeML/Evaluate.thy") produces 4 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" evaluate_tops) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" specs) ("_position" ds)))))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods) ("_position" st)))) ### ("_applC" ("_position" no_dup_types) ("_position" ds))) ### ("_case_syntax" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("_position" ds))))) ### ("_case1" ### ("_tuple" ("_position" st') ("_tuple_arg" ("_position" r))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st') ### ("_datatype_field_update" ("_constify" defined_mods) ### ("\<^const>Set.union" ("_Finset" ("_list" ("_position" mn))) ### ("_applC" ("_position" defined_mods) ("_position" st'))))) ### ("_tuple_arg" ### ("_case_syntax" ("_position" r) ### ("_case2" ### ("_case1" ("_applC" ("_position" Rval) ("_position" env')) ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v) ### ("_position" env'))))) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c) ### ("_position" env'))))))))) ### ("_case1" ("_applC" ("_position" Rerr) ("_position" err)) ### ("_applC" ("_position" Rerr) ("_position" err))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" evaluate_tops) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" specs) ("_position" ds)))))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods) ("_position" st)))) ### ("_applC" ("_position" no_dup_types) ("_position" ds))) ### ("_case_syntax" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("_position" ds))))) ### ("_case1" ### ("_tuple" ("_position" st') ("_tuple_arg" ("_position" r))) ### ("_tuple" ### ("_record_update" ("_position" st') ### ("_field_update" ("_constify" defined_mods) ### ("\<^const>Set.union" ("_Finset" ("_list" ("_position" mn))) ### ("_applC" ("_position" defined_mods) ("_position" st'))))) ### ("_tuple_arg" ### ("_case_syntax" ("_position" r) ### ("_case2" ### ("_case1" ("_applC" ("_position" Rval) ("_position" env')) ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v) ### ("_position" env'))))) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c) ### ("_position" env'))))))))) ### ("_case1" ("_applC" ("_position" Rerr) ("_position" err)) ### ("_applC" ("_position" Rerr) ("_position" err))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" evaluate_tops) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" specs) ("_position" ds)))))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods) ("_position" st)))) ### ("_applC" ("_position" no_dup_types) ("_position" ds))) ### ("_case_syntax" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("_position" ds))))) ### ("_case1" ### ("_tuple" ("_position" st') ("_tuple_arg" ("_position" r))) ### ("_tuple" ### ("_datatype_record_update" ("_position" st') ### ("_datatype_field_update" ("_constify" defined_mods) ### ("\<^const>Set.union" ("_Finset" ("_list" ("_position" mn))) ### ("_applC" ("_position" defined_mods) ("_position" st'))))) ### ("_tuple_arg" ### ("_case_syntax" ("_position" r) ### ("_case2" ### ("_case1" ("_applC" ("_position" Rval) ("_position" env')) ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v) ### ("_position" env'))))) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c) ### ("_position" env'))))))))) ### ("_case1" ("_applC" ("_position" Rerr) ("_position" err)) ### ("_applC" ("_position" Rerr) ("_position" err))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" evaluate_tops) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ### ("_list" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" specs) ("_position" ds)))))))) ### ("\<^const>HOL.If" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods) ("_position" st)))) ### ("_applC" ("_position" no_dup_types) ("_position" ds))) ### ("_case_syntax" ### ("_applC" ("_position" fun_evaluate_decs) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" st) ### ("_cargs" ("_position" env) ("_position" ds))))) ### ("_case1" ### ("_tuple" ("_position" st') ("_tuple_arg" ("_position" r))) ### ("_tuple" ### ("_record_update" ("_position" st') ### ("_field_update" ("_constify" defined_mods) ### ("\<^const>Set.union" ("_Finset" ("_list" ("_position" mn))) ### ("_applC" ("_position" defined_mods) ("_position" st'))))) ### ("_tuple_arg" ### ("_case_syntax" ("_position" r) ### ("_case2" ### ("_case1" ("_applC" ("_position" Rval) ("_position" env')) ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v) ### ("_position" env'))))) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c) ### ("_position" env'))))))))) ### ("_case1" ("_applC" ("_position" Rerr) ("_position" err)) ### ("_applC" ("_position" Rerr) ("_position" err))))))))) ### ("_tuple" ("_position" st) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_applC" ("_position" Rabort) ("_position" Rtype_error)))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "{}" ### theory "CakeML.SmallStep" ### 4.683s elapsed time, 9.340s cpu time, 0.672s GC time Loading theory "CakeML.BigStep" Found termination order: "(\p. size_list size (snd (snd p))) <*mlex*> {}" ### theory "CakeML.Evaluate" ### 4.835s elapsed time, 9.644s cpu time, 0.672s GC time Loading theory "CakeML.PrimTypes" ### Ambiguous input (line 127 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" env) ### ("_idts" ("_position" es) ### ("_idts" ("_position" vs) ### ("_idts" ("_position" env') ### ("_idts" ("_position" e) ### ("_idts" ("_position" bv) ### ("_idts" ("_position" s1) ("_position" s2))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" evaluate_list) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_applC" ("_position" List.rev) ("_position" es)) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ("_position" vs))))))))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" do_opapp) ### ("_applC" ("_position" List.rev) ("_position" vs))) ### ("_applC" ("_position" Some) ### ("_tuple" ("_position" env') ("_tuple_arg" ("_position" e))))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.implies" ("_position" ck) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" clock) ("_position" s2)) ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat))))) ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env') ### ("_cargs" ### ("\<^const>HOL.If" ("_position" ck) ### ("_record_update" ("_position" s2) ### ("_field_update" ("_constify" clock) ### ("\<^const>Groups.minus_class.minus" ### ("_applC" ("_position" clock) ("_position" s2)) ### ("_constrain" ("\<^const>Groups.one_class.one") ### ("_type_name" nat))))) ### ("_position" s2)) ### ("_cargs" ("_position" e) ("_position" bv)))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" App) ### ("_cargs" ("_position" Opapp) ("_position" es))) ### ("_position" bv))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" env) ### ("_idts" ("_position" es) ### ("_idts" ("_position" vs) ### ("_idts" ("_position" env') ### ("_idts" ("_position" e) ### ("_idts" ("_position" bv) ### ("_idts" ("_position" s1) ("_position" s2))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" evaluate_list) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_applC" ("_position" List.rev) ("_position" es)) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ("_position" vs))))))))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" do_opapp) ### ("_applC" ("_position" List.rev) ("_position" vs))) ### ("_applC" ("_position" Some) ### ("_tuple" ("_position" env') ("_tuple_arg" ("_position" e))))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.implies" ("_position" ck) ### ("\<^const>HOL.Not" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" clock) ("_position" s2)) ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat))))) ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env') ### ("_cargs" ### ("\<^const>HOL.If" ("_position" ck) ### ("_datatype_record_update" ("_position" s2) ### ("_datatype_field_update" ("_constify" clock) ### ("\<^const>Groups.minus_class.minus" ### ("_applC" ("_position" clock) ("_position" s2)) ### ("_constrain" ("\<^const>Groups.one_class.one") ### ("_type_name" nat))))) ### ("_position" s2)) ### ("_cargs" ("_position" e) ("_position" bv)))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" App) ### ("_cargs" ("_position" Opapp) ("_position" es))) ### ("_position" bv))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 155 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" env) ### ("_idts" ("_position" op0) ### ("_idts" ("_position" es) ### ("_idts" ("_position" vs) ### ("_idts" ("_position" res) ### ("_idts" ("_position" s1) ### ("_idts" ("_position" s2) ### ("_idts" ("_position" refs') ("_position" ffi')))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" evaluate_list) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_applC" ("_position" List.rev) ("_position" es)) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ("_position" vs))))))))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" do_app) ### ("_cargs" ### ("_tuple" ("_applC" ("_position" refs) ("_position" s2)) ### ("_tuple_arg" ### ("_applC" ("_position" ffi) ("_position" s2)))) ### ("_cargs" ("_position" op0) ### ("_applC" ("_position" List.rev) ("_position" vs))))) ### ("_applC" ("_position" Some) ### ("_tuple" ### ("_tuple" ("_position" refs') ### ("_tuple_arg" ("_position" ffi'))) ### ("_tuple_arg" ("_position" res))))) ### ("\<^const>HOL.not_equal" ("_position" op0) ### ("_position" Opapp))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" App) ### ("_cargs" ("_position" op0) ("_position" es))) ### ("_tuple" ### ("_datatype_record_update" ("_position" s2) ### ("_datatype_field_updates" ### ("_datatype_field_update" ("_constify" refs) ### ("_position" refs')) ### ("_datatype_field_update" ("_constify" ffi) ### ("_position" ffi')))) ### ("_tuple_arg" ("_position" res))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" env) ### ("_idts" ("_position" op0) ### ("_idts" ("_position" es) ### ("_idts" ("_position" vs) ### ("_idts" ("_position" res) ### ("_idts" ("_position" s1) ### ("_idts" ("_position" s2) ### ("_idts" ("_position" refs') ("_position" ffi')))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" evaluate_list) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_applC" ("_position" List.rev) ("_position" es)) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ("_position" vs))))))))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" do_app) ### ("_cargs" ### ("_tuple" ("_applC" ("_position" refs) ("_position" s2)) ### ("_tuple_arg" ### ("_applC" ("_position" ffi) ("_position" s2)))) ### ("_cargs" ("_position" op0) ### ("_applC" ("_position" List.rev) ("_position" vs))))) ### ("_applC" ("_position" Some) ### ("_tuple" ### ("_tuple" ("_position" refs') ### ("_tuple_arg" ("_position" ffi'))) ### ("_tuple_arg" ("_position" res))))) ### ("\<^const>HOL.not_equal" ("_position" op0) ### ("_position" Opapp))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" App) ### ("_cargs" ("_position" op0) ("_position" es))) ### ("_tuple" ### ("_record_update" ("_position" s2) ### ("_field_updates" ### ("_field_update" ("_constify" refs) ### ("_position" refs')) ### ("_field_update" ("_constify" ffi) ### ("_position" ffi')))) ### ("_tuple_arg" ("_position" res))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 251 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" env) ### ("_idts" ("_position" n) ### ("_idts" ("_position" e1) ### ("_idts" ("_position" e2) ### ("_idts" ("_position" v1) ### ("_idts" ("_position" bv) ### ("_idts" ("_position" s1) ("_position" s2))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_position" e1) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ("_position" v1))))))))) ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" nsOptBind) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" v1) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_cargs" ("_position" s2) ### ("_cargs" ("_position" e2) ("_position" bv)))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" Let) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" e1) ("_position" e2)))) ### ("_position" bv))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" env) ### ("_idts" ("_position" n) ### ("_idts" ("_position" e1) ### ("_idts" ("_position" e2) ### ("_idts" ("_position" v1) ### ("_idts" ("_position" bv) ### ("_idts" ("_position" s1) ("_position" s2))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_position" e1) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ("_position" v1))))))))) ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" nsOptBind) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" v1) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_cargs" ("_position" s2) ### ("_cargs" ("_position" e2) ("_position" bv)))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" Let) ### ("_cargs" ("_position" n) ### ("_cargs" ("_position" e1) ("_position" e2)))) ### ("_position" bv))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 266 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" env) ### ("_idts" ("_position" funs) ### ("_idts" ("_position" e) ### ("_idts" ("_position" bv) ("_position" s)))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" x) ### ("_tuple_args" ("_position" y) ### ("_tuple_arg" ("_position" z)))) ### ("_position" x)))) ### ("_position" funs)))) ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ("_position" bv)))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Letrec) ### ("_cargs" ("_position" funs) ("_position" e))) ### ("_position" bv))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" env) ### ("_idts" ("_position" funs) ### ("_idts" ("_position" e) ### ("_idts" ("_position" bv) ("_position" s)))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" x) ### ("_tuple_args" ("_position" y) ### ("_tuple_arg" ("_position" z)))) ### ("_position" x)))) ### ("_position" funs)))) ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ### ("_applC" ("_position" v) ("_position" env))))))) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ("_position" bv)))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Letrec) ### ("_cargs" ("_position" funs) ("_position" e))) ### ("_position" bv))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 332 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" env) ### ("_idts" ("_position" env') ### ("_idts" ("_position" v1) ### ("_idts" ("_position" p) ### ("_idts" ("_position" pes) ### ("_idts" ("_position" e) ### ("_idts" ("_position" bv) ### ("_idts" ("_position" err_v) ("_position" s)))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" pmatch) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_applC" ("_position" refs) ("_position" s)) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" v1) ### ("\<^const>List.list.Nil")))))) ### ("_applC" ("_position" Match) ("_position" env'))) ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ### ("_record_update" ("_position" env) ### ("_field_update" ("_constify" v) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ### ("_applC" ("_position" alist_to_ns) ### ("_position" env')) ### ("_applC" ("_position" v) ("_position" env)))))) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ("_position" bv))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_match) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" v1) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_tuple" ("_position" p) ### ("_tuple_arg" ("_position" e))) ### ("_position" pes)) ### ("_cargs" ("_position" err_v) ("_position" bv))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" env) ### ("_idts" ("_position" env') ### ("_idts" ("_position" v1) ### ("_idts" ("_position" p) ### ("_idts" ("_position" pes) ### ("_idts" ("_position" e) ### ("_idts" ("_position" bv) ### ("_idts" ("_position" err_v) ("_position" s)))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" pmatch) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_applC" ("_position" refs) ("_position" s)) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" v1) ### ("\<^const>List.list.Nil")))))) ### ("_applC" ("_position" Match) ("_position" env'))) ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ### ("_datatype_record_update" ("_position" env) ### ("_datatype_field_update" ("_constify" v) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ### ("_applC" ("_position" alist_to_ns) ### ("_position" env')) ### ("_applC" ("_position" v) ("_position" env)))))) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" e) ("_position" bv))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_match) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("_position" v1) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_tuple" ("_position" p) ### ("_tuple_arg" ("_position" e))) ### ("_position" pes)) ### ("_cargs" ("_position" err_v) ("_position" bv))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "{}" ### Ambiguous input (line 49 of "~~/afp/thys/CakeML/generated/CakeML/PrimTypes.thy") produces 4 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" prim_sem_env) ("_position" ffi1)) ### ("_applC" ("_position" add_to_sem_env) ### ("_cargs" ### ("_tuple" ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" clock) ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat))) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" refs) ### ("\<^const>List.list.Nil")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" ffi) ("_position" ffi1)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types) ### ("\<^const>Set.empty")) ### ("_datatype_field" ("_constify" defined_mods) ### ("\<^const>Set.empty"))))))) ### ("_tuple_arg" ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty)))))) ### ("_position" prim_types_program))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" prim_sem_env) ("_position" ffi1)) ### ("_applC" ("_position" add_to_sem_env) ### ("_cargs" ### ("_tuple" ### ("_record" ### ("_fields" ### ("_field" ("_constify" clock) ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat))) ### ("_fields" ### ("_field" ("_constify" refs) ("\<^const>List.list.Nil")) ### ("_fields" ("_field" ("_constify" ffi) ("_position" ffi1)) ### ("_fields" ### ("_field" ("_constify" defined_types) ### ("\<^const>Set.empty")) ### ("_field" ("_constify" defined_mods) ### ("\<^const>Set.empty"))))))) ### ("_tuple_arg" ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty)))))) ### ("_position" prim_types_program))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" prim_sem_env) ("_position" ffi1)) ### ("_applC" ("_position" add_to_sem_env) ### ("_cargs" ### ("_tuple" ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" clock) ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat))) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" refs) ### ("\<^const>List.list.Nil")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" ffi) ("_position" ffi1)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types) ### ("\<^const>Set.empty")) ### ("_datatype_field" ("_constify" defined_mods) ### ("\<^const>Set.empty"))))))) ### ("_tuple_arg" ### ("_record" ### ("_fields" ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ("_position" nsEmpty)))))) ### ("_position" prim_types_program))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" prim_sem_env) ("_position" ffi1)) ### ("_applC" ("_position" add_to_sem_env) ### ("_cargs" ### ("_tuple" ### ("_record" ### ("_fields" ### ("_field" ("_constify" clock) ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat))) ### ("_fields" ### ("_field" ("_constify" refs) ("\<^const>List.list.Nil")) ### ("_fields" ("_field" ("_constify" ffi) ("_position" ffi1)) ### ("_fields" ### ("_field" ("_constify" defined_types) ### ("\<^const>Set.empty")) ### ("_field" ("_constify" defined_mods) ### ("\<^const>Set.empty"))))))) ### ("_tuple_arg" ### ("_record" ### ("_fields" ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ("_position" nsEmpty)))))) ### ("_position" prim_types_program))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### theory "CakeML.PrimTypes" ### 0.299s elapsed time, 0.600s cpu time, 0.000s GC time Loading theory "CakeML.TypeSystem" Proofs for inductive predicate(s) "evaluate_match", "evaluate_list", "evaluate" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### Ambiguous input (line 367 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" p) ### ("_idts" ("_position" e) ### ("_idts" ("_position" v1) ### ("_idts" ("_position" env') ### ("_idts" ("_position" s1) ### ("_idts" ("_position" s2) ("_position" locs)))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_position" e) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ("_position" v1))))))))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("\<^const>HOL.eq" ### ("_applC" ("_position" pmatch) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_applC" ("_position" refs) ("_position" s2)) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" v1) ### ("\<^const>List.list.Nil")))))) ### ("_applC" ("_position" Match) ("_position" env')))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" Dlet) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" p) ("_position" e)))) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" alist_to_ns) ### ("_position" env'))) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty)))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" p) ### ("_idts" ("_position" e) ### ("_idts" ("_position" v1) ### ("_idts" ("_position" env') ### ("_idts" ("_position" s1) ### ("_idts" ("_position" s2) ("_position" locs)))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" evaluate) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_position" e) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ("_position" v1))))))))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("\<^const>HOL.eq" ### ("_applC" ("_position" pmatch) ### ("_cargs" ("_applC" ("_position" c) ("_position" env)) ### ("_cargs" ("_applC" ("_position" refs) ("_position" s2)) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" v1) ### ("\<^const>List.list.Nil")))))) ### ("_applC" ("_position" Match) ("_position" env')))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" Dlet) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" p) ("_position" e)))) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" alist_to_ns) ### ("_position" env'))) ### ("_field" ("_constify" c) ### ("_position" nsEmpty)))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 409 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" funs) ### ("_idts" ("_position" s) ("_position" locs)))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" x) ### ("_tuple_args" ("_position" y) ### ("_tuple_arg" ("_position" z)))) ### ("_position" x)))) ### ("_position" funs))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dletrec) ### ("_cargs" ("_position" locs) ("_position" funs))) ### ("_tuple" ("_position" s) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ### ("_position" nsEmpty))))) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty)))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" funs) ### ("_idts" ("_position" s) ("_position" locs)))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" x) ### ("_tuple_args" ("_position" y) ### ("_tuple_arg" ("_position" z)))) ### ("_position" x)))) ### ("_position" funs))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dletrec) ### ("_cargs" ("_position" locs) ("_position" funs))) ### ("_tuple" ("_position" s) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" build_rec_env) ### ("_cargs" ("_position" funs) ### ("_cargs" ("_position" env) ### ("_position" nsEmpty))))) ### ("_field" ("_constify" c) ### ("_position" nsEmpty)))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 425 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 4 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" tds) ### ("_idts" ("_position" s) ### ("_idts" ("_position" new_tdecs) ("_position" locs))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_dup_ctors) ("_position" tds)) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" new_tdecs) ### ("_applC" ("_position" type_defs_to_new_tdecs) ### ("_cargs" ("_position" mn) ("_position" tds)))) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" s)))) ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_position" tn)))) ### ("_position" tds)))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tds))) ### ("_tuple" ### ("_datatype_record_update" ("_position" s) ### ("_datatype_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ### ("_position" s))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" build_tdefs) ### ("_cargs" ("_position" mn) ### ("_position" tds)))))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" tds) ### ("_idts" ("_position" s) ### ("_idts" ("_position" new_tdecs) ("_position" locs))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_dup_ctors) ("_position" tds)) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" new_tdecs) ### ("_applC" ("_position" type_defs_to_new_tdecs) ### ("_cargs" ("_position" mn) ("_position" tds)))) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" s)))) ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_position" tn)))) ### ("_position" tds)))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tds))) ### ("_tuple" ### ("_record_update" ("_position" s) ### ("_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ### ("_position" s))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" build_tdefs) ### ("_cargs" ("_position" mn) ### ("_position" tds)))))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" tds) ### ("_idts" ("_position" s) ### ("_idts" ("_position" new_tdecs) ("_position" locs))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_dup_ctors) ("_position" tds)) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" new_tdecs) ### ("_applC" ("_position" type_defs_to_new_tdecs) ### ("_cargs" ("_position" mn) ("_position" tds)))) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" s)))) ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_position" tn)))) ### ("_position" tds)))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tds))) ### ("_tuple" ### ("_datatype_record_update" ("_position" s) ### ("_datatype_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ### ("_position" s))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_applC" ("_position" build_tdefs) ### ("_cargs" ("_position" mn) ### ("_position" tds)))))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" tds) ### ("_idts" ("_position" s) ### ("_idts" ("_position" new_tdecs) ("_position" locs))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_dup_ctors) ("_position" tds)) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" new_tdecs) ### ("_applC" ("_position" type_defs_to_new_tdecs) ### ("_cargs" ("_position" mn) ("_position" tds)))) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ("_position" s)))) ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_position" tn)))) ### ("_position" tds)))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tds))) ### ("_tuple" ### ("_record_update" ("_position" s) ### ("_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ("_position" new_tdecs) ### ("_applC" ("_position" defined_types) ### ("_position" s))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_applC" ("_position" build_tdefs) ### ("_cargs" ("_position" mn) ### ("_position" tds)))))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 446 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" tn) ### ("_idts" ("_position" t0) ### ("_idts" ("_position" s) ("_position" locs)))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dtabbrev) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" tvs) ### ("_cargs" ("_position" tn) ("_position" t0))))) ### ("_tuple" ("_position" s) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" tn) ### ("_idts" ("_position" t0) ### ("_idts" ("_position" s) ("_position" locs)))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dtabbrev) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" tvs) ### ("_cargs" ("_position" tn) ("_position" t0))))) ### ("_tuple" ("_position" s) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_position" nsEmpty))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 452 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 4 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" s) ("_position" locs))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))) ### ("_applC" ("_position" defined_types) ("_position" s))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("_tuple" ### ("_datatype_record_update" ("_position" s) ### ("_datatype_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ### ("_Finset" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))) ### ("_applC" ("_position" defined_types) ### ("_position" s))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ### ("_applC" ("_position" List.length) ### ("_position" ts)) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))))))))))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" s) ("_position" locs))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))) ### ("_applC" ("_position" defined_types) ("_position" s))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("_tuple" ### ("_record_update" ("_position" s) ### ("_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ### ("_Finset" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))) ### ("_applC" ("_position" defined_types) ### ("_position" s))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ### ("_applC" ("_position" List.length) ### ("_position" ts)) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))))))))))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" s) ("_position" locs))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))) ### ("_applC" ("_position" defined_types) ("_position" s))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("_tuple" ### ("_datatype_record_update" ("_position" s) ### ("_datatype_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ### ("_Finset" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))) ### ("_applC" ("_position" defined_types) ### ("_position" s))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ### ("_applC" ("_position" List.length) ### ("_position" ts)) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))))))))))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" env) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" s) ("_position" locs))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))) ### ("_applC" ("_position" defined_types) ("_position" s))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_dec) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("_tuple" ### ("_record_update" ("_position" s) ### ("_field_update" ("_constify" defined_types) ### ("\<^const>Set.union" ### ("_Finset" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))) ### ("_applC" ("_position" defined_types) ### ("_position" s))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ### ("_applC" ("_position" List.length) ### ("_position" ts)) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))))))))))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Proofs for inductive predicate(s) "evaluate_dec" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### Ambiguous input (line 467 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ("_idts" ("_position" env) ("_position" s)))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_decs) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_tuple" ("_position" s) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" mn) ("_idts" ("_position" env) ("_position" s)))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_decs) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_tuple" ("_position" s) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_position" nsEmpty))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Proofs for inductive predicate(s) "evaluate_decs" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### Ambiguous input (line 502 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 4 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" s1) ### ("_idts" ("_position" s2) ### ("_idts" ("_position" env) ### ("_idts" ("_position" ds) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" specs) ("_position" new_env)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods) ("_position" s1)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" no_dup_types) ("_position" ds)) ### ("_applC" ("_position" evaluate_decs) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_position" ds) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_position" new_env))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_top) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" specs) ("_position" ds)))) ### ("_tuple" ### ("_datatype_record_update" ("_position" s2) ### ("_datatype_field_update" ("_constify" defined_mods) ### ("\<^const>Set.union" ### ("_Finset" ("_list" ("_position" mn))) ### ("_applC" ("_position" defined_mods) ### ("_position" s2))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v) ### ("_position" new_env))))) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c) ### ("_position" new_env)))))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" s1) ### ("_idts" ("_position" s2) ### ("_idts" ("_position" env) ### ("_idts" ("_position" ds) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" specs) ("_position" new_env)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods) ("_position" s1)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" no_dup_types) ("_position" ds)) ### ("_applC" ("_position" evaluate_decs) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_position" ds) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_position" new_env))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_top) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" specs) ("_position" ds)))) ### ("_tuple" ### ("_record_update" ("_position" s2) ### ("_field_update" ("_constify" defined_mods) ### ("\<^const>Set.union" ### ("_Finset" ("_list" ("_position" mn))) ### ("_applC" ("_position" defined_mods) ### ("_position" s2))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v) ### ("_position" new_env))))) ### ("_datatype_field" ("_constify" c) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c) ### ("_position" new_env)))))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" s1) ### ("_idts" ("_position" s2) ### ("_idts" ("_position" env) ### ("_idts" ("_position" ds) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" specs) ("_position" new_env)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods) ("_position" s1)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" no_dup_types) ("_position" ds)) ### ("_applC" ("_position" evaluate_decs) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_position" ds) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_position" new_env))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_top) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" specs) ("_position" ds)))) ### ("_tuple" ### ("_datatype_record_update" ("_position" s2) ### ("_datatype_field_update" ("_constify" defined_mods) ### ("\<^const>Set.union" ### ("_Finset" ("_list" ("_position" mn))) ### ("_applC" ("_position" defined_mods) ### ("_position" s2))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v) ### ("_position" new_env))))) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c) ### ("_position" new_env)))))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" s1) ### ("_idts" ("_position" s2) ### ("_idts" ("_position" env) ### ("_idts" ("_position" ds) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" specs) ("_position" new_env)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods) ("_position" s1)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" no_dup_types) ("_position" ds)) ### ("_applC" ("_position" evaluate_decs) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_position" ds) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_position" new_env))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_top) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" specs) ("_position" ds)))) ### ("_tuple" ### ("_record_update" ("_position" s2) ### ("_field_update" ("_constify" defined_mods) ### ("\<^const>Set.union" ### ("_Finset" ("_list" ("_position" mn))) ### ("_applC" ("_position" defined_mods) ### ("_position" s2))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v) ### ("_position" new_env))))) ### ("_field" ("_constify" c) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c) ### ("_position" new_env)))))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 511 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" s1) ### ("_idts" ("_position" s2) ### ("_idts" ("_position" env) ### ("_idts" ("_position" ds) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" specs) ("_position" err)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods) ("_position" s1)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" no_dup_types) ("_position" ds)) ### ("_applC" ("_position" evaluate_decs) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_position" ds) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_position" err))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_top) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" specs) ("_position" ds)))) ### ("_tuple" ### ("_datatype_record_update" ("_position" s2) ### ("_datatype_field_update" ("_constify" defined_mods) ### ("\<^const>Set.union" ### ("_Finset" ("_list" ("_position" mn))) ### ("_applC" ("_position" defined_mods) ### ("_position" s2))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_position" err)))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ### ("_idts" ("_position" s1) ### ("_idts" ("_position" s2) ### ("_idts" ("_position" env) ### ("_idts" ("_position" ds) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" specs) ("_position" err)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods) ("_position" s1)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" no_dup_types) ("_position" ds)) ### ("_applC" ("_position" evaluate_decs) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ("_position" ds) ### ("_tuple" ("_position" s2) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_position" err))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_top) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s1) ### ("_cargs" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" specs) ("_position" ds)))) ### ("_tuple" ### ("_record_update" ("_position" s2) ### ("_field_update" ("_constify" defined_mods) ### ("\<^const>Set.union" ### ("_Finset" ("_list" ("_position" mn))) ### ("_applC" ("_position" defined_mods) ### ("_position" s2))))) ### ("_tuple_arg" ### ("_applC" ("_position" Rerr) ### ("_position" err)))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Proofs for inductive predicate(s) "evaluate_top" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### Ambiguous input (line 535 of "~~/afp/thys/CakeML/generated/CakeML/BigStep.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ("_idts" ("_position" env) ("_position" s))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_prog) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_tuple" ("_position" s) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" c) ### ("_position" nsEmpty)))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" ck) ("_idts" ("_position" env) ("_position" s))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" evaluate_prog) ### ("_cargs" ("_position" ck) ### ("_cargs" ("_position" env) ### ("_cargs" ("_position" s) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_tuple" ("_position" s) ### ("_tuple_arg" ### ("_applC" ("_position" Rval) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v) ("_position" nsEmpty)) ### ("_field" ("_constify" c) ### ("_position" nsEmpty)))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Proofs for inductive predicate(s) "evaluate_prog" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... Found termination order: "{}" Found termination order: "{}" Found termination order: "{}" Proofs for inductive predicate(s) "decs_diverges" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... Proofs for inductive predicate(s) "top_diverges" Found termination order: "(\p. size (snd (snd p))) <*mlex*> {}" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... Proofs for inductive predicate(s) "prog_diverges" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### theory "CakeML.BigStep" ### 2.844s elapsed time, 5.664s cpu time, 0.576s GC time Loading theory "CakeML.SemanticPrimitivesAuxiliary" ### theory "CakeML.SemanticPrimitivesAuxiliary" ### 0.254s elapsed time, 0.512s cpu time, 0.000s GC time ### Ambiguous input (line 144 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv') ("_position" tenv))) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" v0) ("_position" tenv')) ### ("_applC" ("_position" v0) ("_position" tenv))))) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" c0) ("_position" tenv')) ### ("_applC" ("_position" c0) ("_position" tenv))))) ### ("_datatype_field" ("_constify" t) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" t) ("_position" tenv')) ### ("_applC" ("_position" t) ("_position" tenv)))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv') ("_position" tenv))) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" v0) ("_position" tenv')) ### ("_applC" ("_position" v0) ("_position" tenv))))) ### ("_fields" ### ("_field" ("_constify" c0) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" c0) ("_position" tenv')) ### ("_applC" ("_position" c0) ("_position" tenv))))) ### ("_field" ("_constify" t) ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_applC" ("_position" t) ("_position" tenv')) ### ("_applC" ("_position" t) ("_position" tenv)))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "{}" Found termination order: "size <*mlex*> {}" Found termination order: "(\p. size_list (\p. size (snd p)) (fst (snd p))) <*mlex*> {}" *** Undefined fact: "word_cat_inj" (line 33 of "~~/afp/thys/IEEE_Floating_Point/FP64.thy") *** At command "by" (line 33 of "~~/afp/thys/IEEE_Floating_Point/FP64.thy") Found termination order: "(\p. length (fst p)) <*mlex*> {}" ### Ambiguous input (line 213 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ("_position" empty_decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_datatype_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ("_position" empty_decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ("\<^const>Set.empty")) ### ("_field" ("_constify" defined_exns) ("\<^const>Set.empty"))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 218 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" d1) ("_position" d2))) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.union" ### ("_applC" ("_position" defined_mods0) ("_position" d1)) ### ("_applC" ("_position" defined_mods0) ("_position" d2)))) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("\<^const>Set.union" ### ("_applC" ("_position" defined_types0) ("_position" d1)) ### ("_applC" ("_position" defined_types0) ("_position" d2)))) ### ("_datatype_field" ("_constify" defined_exns) ### ("\<^const>Set.union" ### ("_applC" ("_position" defined_exns) ("_position" d1)) ### ("_applC" ("_position" defined_exns) ("_position" d2))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" d1) ("_position" d2))) ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.union" ### ("_applC" ("_position" defined_mods0) ("_position" d1)) ### ("_applC" ("_position" defined_mods0) ("_position" d2)))) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("\<^const>Set.union" ### ("_applC" ("_position" defined_types0) ("_position" d1)) ### ("_applC" ("_position" defined_types0) ("_position" d2)))) ### ("_field" ("_constify" defined_exns) ### ("\<^const>Set.union" ### ("_applC" ("_position" defined_exns) ("_position" d1)) ### ("_applC" ("_position" defined_exns) ("_position" d2))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Found termination order: "case_sum (\p. size_list size (fst p)) (\p. size (fst p)) <*mlex*> {}" Found termination order: "{}" Found termination order: "{}" Proofs for inductive predicate(s) "type_ps", "type_p" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... Proofs for inductive predicate(s) "type_funs", "type_es", "type_e" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... Found termination order: "{}" ### Ambiguous input (line 1149 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" p) ### ("_idts" ("_position" e) ### ("_idts" ("_position" t0) ### ("_idts" ("_position" bindings) ### ("_idts" ("_position" decls) ("_position" locs)))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ("_applC" ("_position" is_value) ("_position" e)) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_p) ### ("_cargs" ("_position" tvs) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" t0) ("_position" bindings)))))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_e) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" bind_tvar) ### ("_cargs" ("_position" tvs) ("_position" Empty))) ### ("_cargs" ("_position" e) ("_position" t0))))) ### ("\<^const>HOL.implies" ("_position" extra_checks) ### ("\<^const>HOL.All_binder" ("_position" tvs') ### ("\<^const>HOL.All_binder" ("_position" bindings') ### ("\<^const>HOL.All_binder" ("_position" t') ### ("\<^const>HOL.implies" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_p) ### ("_cargs" ("_position" tvs') ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" t') ### ("_position" bindings')))))) ### ("_applC" ("_position" type_e) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" bind_tvar) ### ("_cargs" ("_position" tvs') ### ("_position" Empty))) ### ("_cargs" ("_position" e) ### ("_position" t')))))) ### ("_applC" ("_position" list_all2) ### ("_cargs" ("_position" tscheme_inst) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" snd) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs') ### ("_position" bindings'))))) ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" snd) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs) ### ("_position" bindings)))))))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dlet) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" p) ("_position" e)))) ### ("_cargs" ("_position" empty_decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs) ### ("_position" bindings))))) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" p) ### ("_idts" ("_position" e) ### ("_idts" ("_position" t0) ### ("_idts" ("_position" bindings) ### ("_idts" ("_position" decls) ("_position" locs)))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ("_applC" ("_position" is_value) ("_position" e)) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_p) ### ("_cargs" ("_position" tvs) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" t0) ("_position" bindings)))))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_e) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" bind_tvar) ### ("_cargs" ("_position" tvs) ("_position" Empty))) ### ("_cargs" ("_position" e) ("_position" t0))))) ### ("\<^const>HOL.implies" ("_position" extra_checks) ### ("\<^const>HOL.All_binder" ("_position" tvs') ### ("\<^const>HOL.All_binder" ("_position" bindings') ### ("\<^const>HOL.All_binder" ("_position" t') ### ("\<^const>HOL.implies" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_p) ### ("_cargs" ("_position" tvs') ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" t') ### ("_position" bindings')))))) ### ("_applC" ("_position" type_e) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" bind_tvar) ### ("_cargs" ("_position" tvs') ### ("_position" Empty))) ### ("_cargs" ("_position" e) ### ("_position" t')))))) ### ("_applC" ("_position" list_all2) ### ("_cargs" ("_position" tscheme_inst) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" snd) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs') ### ("_position" bindings'))))) ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" snd) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs) ### ("_position" bindings)))))))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dlet) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" p) ("_position" e)))) ### ("_cargs" ("_position" empty_decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs) ### ("_position" bindings))))) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Legacy feature! Old-style inner comment: use "\ \...\" or "\<^cancel>\...\" instead (line 1166 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") ### Ambiguous input (line 1165 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" p) ### ("_idts" ("_position" e) ### ("_idts" ("_position" t0) ### ("_idts" ("_position" bindings) ### ("_idts" ("_position" decls) ("_position" locs))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.implies" ("_position" extra_checks) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("_applC" ("_position" is_value) ("_position" e))) ### ("_applC" ("_position" type_pe_determ) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" Empty) ### ("_cargs" ("_position" p) ("_position" e))))))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_p) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" t0) ("_position" bindings)))))) ### ("_applC" ("_position" type_e) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" Empty) ### ("_cargs" ("_position" e) ("_position" t0))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dlet) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" p) ("_position" e)))) ### ("_cargs" ("_position" empty_decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ### ("_constrain" ### ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_position" bindings))))) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" p) ### ("_idts" ("_position" e) ### ("_idts" ("_position" t0) ### ("_idts" ("_position" bindings) ### ("_idts" ("_position" decls) ("_position" locs))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.implies" ("_position" extra_checks) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("_applC" ("_position" is_value) ("_position" e))) ### ("_applC" ("_position" type_pe_determ) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" Empty) ### ("_cargs" ("_position" p) ("_position" e))))))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ### ("_applC" ("_position" pat_bindings) ### ("_cargs" ("_position" p) ("\<^const>List.list.Nil")))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_p) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" p) ### ("_cargs" ("_position" t0) ("_position" bindings)))))) ### ("_applC" ("_position" type_e) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" Empty) ### ("_cargs" ("_position" e) ("_position" t0))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dlet) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" p) ("_position" e)))) ### ("_cargs" ("_position" empty_decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ### ("_constrain" ### ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_position" bindings))))) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 1180 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" funs) ### ("_idts" ("_position" bindings) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" decls) ("_position" locs)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_funs) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" bind_var_list) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" bindings) ### ("_applC" ("_position" bind_tvar) ### ("_cargs" ("_position" tvs) ("_position" Empty)))))) ### ("_cargs" ("_position" funs) ("_position" bindings))))) ### ("\<^const>HOL.implies" ("_position" extra_checks) ### ("\<^const>HOL.All_binder" ("_position" tvs') ### ("\<^const>HOL.All_binder" ("_position" bindings') ### ("\<^const>HOL.implies" ### ("_applC" ("_position" type_funs) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" bind_var_list) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" bindings') ### ("_applC" ("_position" bind_tvar) ### ("_cargs" ("_position" tvs') ### ("_position" Empty)))))) ### ("_cargs" ("_position" funs) ### ("_position" bindings'))))) ### ("_applC" ("_position" list_all2) ### ("_cargs" ("_position" tscheme_inst) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" snd) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs') ### ("_position" bindings'))))) ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" snd) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs) ### ("_position" bindings)))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dletrec) ### ("_cargs" ("_position" locs) ("_position" funs))) ### ("_cargs" ("_position" empty_decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs) ### ("_position" bindings))))) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" funs) ### ("_idts" ("_position" bindings) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" decls) ("_position" locs)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_funs) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" bind_var_list) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" bindings) ### ("_applC" ("_position" bind_tvar) ### ("_cargs" ("_position" tvs) ("_position" Empty)))))) ### ("_cargs" ("_position" funs) ("_position" bindings))))) ### ("\<^const>HOL.implies" ("_position" extra_checks) ### ("\<^const>HOL.All_binder" ("_position" tvs') ### ("\<^const>HOL.All_binder" ("_position" bindings') ### ("\<^const>HOL.implies" ### ("_applC" ("_position" type_funs) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" bind_var_list) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" bindings') ### ("_applC" ("_position" bind_tvar) ### ("_cargs" ("_position" tvs') ### ("_position" Empty)))))) ### ("_cargs" ("_position" funs) ### ("_position" bindings'))))) ### ("_applC" ("_position" list_all2) ### ("_cargs" ("_position" tscheme_inst) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" snd) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs') ### ("_position" bindings'))))) ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" snd) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs) ### ("_position" bindings)))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dletrec) ### ("_cargs" ("_position" locs) ("_position" funs))) ### ("_cargs" ("_position" empty_decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" tenv_add_tvs) ### ("_cargs" ("_position" tvs) ### ("_position" bindings))))) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 1192 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 4 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" tdefs) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" defined_types') ### ("_idts" ("_position" decls') ### ("_idts" ("_position" tenvT) ("_position" locs))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_ctor_tenv) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT) ### ("_applC" ("_position" t) ("_position" tenv)))) ### ("_position" tdefs))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" defined_types') ### ("_applC" ("_position" List.set) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn)))))) ### ("_position" tdefs))))) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" defined_types') ### ("_applC" ("_position" defined_types0) ### ("_position" decls)))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT) ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_tuple" ("_position" tn) ### ("_tuple_arg" ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn))))))))))))) ### ("_position" tdefs))))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("_position" defined_types')) ### ("_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tdefs))) ### ("_cargs" ("_position" decls') ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ### ("_applC" ("_position" build_ctor_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT) ### ("_applC" ("_position" t) ("_position" tenv)))) ### ("_position" tdefs))))) ### ("_field" ("_constify" t) ### ("_position" tenvT))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" tdefs) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" defined_types') ### ("_idts" ("_position" decls') ### ("_idts" ("_position" tenvT) ("_position" locs))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_ctor_tenv) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT) ### ("_applC" ("_position" t) ("_position" tenv)))) ### ("_position" tdefs))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" defined_types') ### ("_applC" ("_position" List.set) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn)))))) ### ("_position" tdefs))))) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" defined_types') ### ("_applC" ("_position" defined_types0) ### ("_position" decls)))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT) ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_tuple" ("_position" tn) ### ("_tuple_arg" ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn))))))))))))) ### ("_position" tdefs))))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("_position" defined_types')) ### ("_datatype_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tdefs))) ### ("_cargs" ("_position" decls') ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ### ("_applC" ("_position" build_ctor_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT) ### ("_applC" ("_position" t) ("_position" tenv)))) ### ("_position" tdefs))))) ### ("_field" ("_constify" t) ### ("_position" tenvT))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" tdefs) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" defined_types') ### ("_idts" ("_position" decls') ### ("_idts" ("_position" tenvT) ("_position" locs))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_ctor_tenv) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT) ### ("_applC" ("_position" t) ("_position" tenv)))) ### ("_position" tdefs))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" defined_types') ### ("_applC" ("_position" List.set) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn)))))) ### ("_position" tdefs))))) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" defined_types') ### ("_applC" ("_position" defined_types0) ### ("_position" decls)))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT) ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_tuple" ("_position" tn) ### ("_tuple_arg" ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn))))))))))))) ### ("_position" tdefs))))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("_position" defined_types')) ### ("_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tdefs))) ### ("_cargs" ("_position" decls') ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_applC" ("_position" build_ctor_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT) ### ("_applC" ("_position" t) ("_position" tenv)))) ### ("_position" tdefs))))) ### ("_datatype_field" ("_constify" t) ### ("_position" tenvT))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" tdefs) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" defined_types') ### ("_idts" ("_position" decls') ### ("_idts" ("_position" tenvT) ("_position" locs))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_ctor_tenv) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT) ### ("_applC" ("_position" t) ("_position" tenv)))) ### ("_position" tdefs))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" defined_types') ### ("_applC" ("_position" List.set) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn)))))) ### ("_position" tdefs))))) ### ("\<^const>HOL.conj" ### ("_applC" ### ("_lambda" ("_pttrns" ("_position" M) ("_position" N)) ### ("\<^const>HOL.eq" ### ("\<^const>Set.inter" ("_position" M) ("_position" N)) ### ("\<^const>Set.empty"))) ### ("_cargs" ("_position" defined_types') ### ("_applC" ("_position" defined_types0) ### ("_position" decls)))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT) ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_tuple" ("_position" tn) ### ("_tuple_arg" ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn))))))))))))) ### ("_position" tdefs))))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("_position" defined_types')) ### ("_datatype_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dtype) ### ("_cargs" ("_position" locs) ("_position" tdefs))) ### ("_cargs" ("_position" decls') ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_applC" ("_position" build_ctor_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT) ### ("_applC" ("_position" t) ("_position" tenv)))) ### ("_position" tdefs))))) ### ("_datatype_field" ("_constify" t) ### ("_position" tenvT))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 1209 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" tn) ### ("_idts" ("_position" t0) ("_position" locs)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_freevars) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" tvs) ("_position" t0)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_type_names) ### ("_cargs" ("_applC" ("_position" t) ("_position" tenv)) ### ("_position" t0))) ### ("_applC" ("_position" Lem_list.allDistinct) ("_position" tvs))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dtabbrev) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" tvs) ### ("_cargs" ("_position" tn) ("_position" t0))))) ### ("_cargs" ("_position" empty_decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" tn) ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" type_name_subst) ### ("_cargs" ("_applC" ("_position" t) ("_position" tenv)) ### ("_position" t0))))))))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" tn) ### ("_idts" ("_position" t0) ("_position" locs)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_freevars) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" tvs) ("_position" t0)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_type_names) ### ("_cargs" ("_applC" ("_position" t) ("_position" tenv)) ### ("_position" t0))) ### ("_applC" ("_position" Lem_list.allDistinct) ("_position" tvs))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dtabbrev) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" tvs) ### ("_cargs" ("_position" tn) ("_position" t0))))) ### ("_cargs" ("_position" empty_decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" tn) ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" type_name_subst) ### ("_cargs" ("_applC" ("_position" t) ("_position" tenv)) ### ("_position" t0))))))))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 1220 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 4 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" decls') ("_position" locs)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_exn_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))) ### ("_applC" ("_position" defined_exns) ("_position" decls)))) ### ("\<^const>HOL.conj" ### ("_Ball" ("_position" x) ### ("_applC" ("_position" set) ("_position" ts)) ### ("_applC" ### ("_applC" ("_position" check_type_names) ### ("_applC" ("_position" t) ("_position" tenv))) ### ("_position" x))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_datatype_field" ("_constify" defined_exns) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("_cargs" ("_position" decls') ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ("\<^const>List.list.Nil") ### ("_tuple_args" ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_applC" ("_position" type_name_subst) ### ("_applC" ("_position" t) ("_position" tenv))) ### ("_position" ts))) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))))))))) ### ("_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" decls') ("_position" locs)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_exn_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))) ### ("_applC" ("_position" defined_exns) ("_position" decls)))) ### ("\<^const>HOL.conj" ### ("_Ball" ("_position" x) ### ("_applC" ("_position" set) ("_position" ts)) ### ("_applC" ### ("_applC" ("_position" check_type_names) ### ("_applC" ("_position" t) ("_position" tenv))) ### ("_position" x))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_field" ("_constify" defined_exns) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("_cargs" ("_position" decls') ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ("\<^const>List.list.Nil") ### ("_tuple_args" ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_applC" ("_position" type_name_subst) ### ("_applC" ("_position" t) ("_position" tenv))) ### ("_position" ts))) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))))))))) ### ("_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" decls') ("_position" locs)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_exn_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))) ### ("_applC" ("_position" defined_exns) ("_position" decls)))) ### ("\<^const>HOL.conj" ### ("_Ball" ("_position" x) ### ("_applC" ("_position" set) ("_position" ts)) ### ("_applC" ### ("_applC" ("_position" check_type_names) ### ("_applC" ("_position" t) ("_position" tenv))) ### ("_position" x))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_datatype_field" ("_constify" defined_exns) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("_cargs" ("_position" decls') ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ("\<^const>List.list.Nil") ### ("_tuple_args" ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_applC" ("_position" type_name_subst) ### ("_applC" ("_position" t) ("_position" tenv))) ### ("_position" ts))) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))))))))) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" decls') ("_position" locs)))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_exn_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn))) ### ("_applC" ("_position" defined_exns) ("_position" decls)))) ### ("\<^const>HOL.conj" ### ("_Ball" ("_position" x) ### ("_applC" ("_position" set) ("_position" ts)) ### ("_applC" ### ("_applC" ("_position" check_type_names) ### ("_applC" ("_position" t) ("_position" tenv))) ### ("_position" x))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_field" ("_constify" defined_exns) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_d) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Dexn) ### ("_cargs" ("_position" locs) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("_cargs" ("_position" decls') ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ("\<^const>List.list.Nil") ### ("_tuple_args" ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_applC" ("_position" type_name_subst) ### ("_applC" ("_position" t) ("_position" tenv))) ### ("_position" ts))) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))))))))) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Proofs for inductive predicate(s) "type_d" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### Ambiguous input (line 1234 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ("_position" decls)))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_ds) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_cargs" ("_position" empty_decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_position" nsEmpty)))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenv) ("_position" decls)))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_ds) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_cargs" ("_position" empty_decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty)))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Proofs for inductive predicate(s) "type_ds" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### Ambiguous input (line 1251 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ("_idts" ("_position" mn) ("_position" tenvT)) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_cargs" ("_position" empty_decls) ### ("_record" ### ("_fields" ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_position" nsEmpty)))))))))))) ### ("\<^const>Pure.all_binder" ("_idts" ("_position" mn) ("_position" tenvT)) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_cargs" ("_position" empty_decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty)))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 1258 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" x) ### ("_idts" ("_position" t0) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" fvs) ### ("_idts" ("_position" decls) ("_position" subst))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_freevars) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" fvs) ("_position" t0)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_type_names) ### ("_cargs" ("_position" tenvT) ("_position" t0))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv)))))) ### ("\<^const>HOL.eq" ("_position" subst) ### ("_applC" ("_position" map_of) ### ("_applC" ("_position" Lem_list_extra.zipSameLength) ### ("_cargs" ("_position" fvs) ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar_db) ### ("_applC" ("_position" genlist) ### ("_cargs" ### ("_lambda" ("_position" x) ("_position" x)) ### ("_applC" ("_position" List.length) ### ("_position" fvs)))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Sval) ### ("_cargs" ("_position" x) ("_position" t0))) ### ("_position" specs)) ### ("_cargs" ("_position" decls) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" x) ### ("_tuple" ### ("_applC" ("_position" List.length) ### ("_position" fvs)) ### ("_tuple_arg" ### ("_applC" ("_position" type_subst) ### ("_cargs" ("_position" subst) ### ("_applC" ("_position" type_name_subst) ### ("_cargs" ("_position" tenvT) ("_position" t0)))))))))) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" x) ### ("_idts" ("_position" t0) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" fvs) ### ("_idts" ("_position" decls) ("_position" subst))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_freevars) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" fvs) ("_position" t0)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_type_names) ### ("_cargs" ("_position" tenvT) ("_position" t0))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv)))))) ### ("\<^const>HOL.eq" ("_position" subst) ### ("_applC" ("_position" map_of) ### ("_applC" ("_position" Lem_list_extra.zipSameLength) ### ("_cargs" ("_position" fvs) ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar_db) ### ("_applC" ("_position" genlist) ### ("_cargs" ### ("_lambda" ("_position" x) ("_position" x)) ### ("_applC" ("_position" List.length) ### ("_position" fvs)))))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Sval) ### ("_cargs" ("_position" x) ("_position" t0))) ### ("_position" specs)) ### ("_cargs" ("_position" decls) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" x) ### ("_tuple" ### ("_applC" ("_position" List.length) ### ("_position" fvs)) ### ("_tuple_arg" ### ("_applC" ("_position" type_subst) ### ("_cargs" ("_position" subst) ### ("_applC" ("_position" type_name_subst) ### ("_cargs" ("_position" tenvT) ("_position" t0)))))))))) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 1273 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 4 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" td) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" decls') ### ("_idts" ("_position" decls) ("_position" tenvT')))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT') ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_tuple" ("_position" tn) ### ("_tuple_arg" ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ### ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn))))))))))))) ### ("_position" td))))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_ctor_tenv) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_position" td))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv)))))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("_applC" ("_position" List.set) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn)))))) ### ("_position" td))))) ### ("_datatype_field" ("_constify" defined_exns) ### ("\<^const>Set.empty")))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Stype) ("_position" td)) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ("_position" decls'))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_applC" ("_position" build_ctor_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ### ("_position" tenvT))) ### ("_position" td))))) ### ("_datatype_field" ("_constify" t) ### ("_position" tenvT'))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" td) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" decls') ### ("_idts" ("_position" decls) ("_position" tenvT')))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT') ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_tuple" ("_position" tn) ### ("_tuple_arg" ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ### ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn))))))))))))) ### ("_position" td))))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_ctor_tenv) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_position" td))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv)))))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("_applC" ("_position" List.set) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn)))))) ### ("_position" td))))) ### ("_field" ("_constify" defined_exns) ### ("\<^const>Set.empty")))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Stype) ("_position" td)) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ("_position" decls'))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_applC" ("_position" build_ctor_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ### ("_position" tenvT))) ### ("_position" td))))) ### ("_datatype_field" ("_constify" t) ### ("_position" tenvT'))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" td) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" decls') ### ("_idts" ("_position" decls) ("_position" tenvT')))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT') ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_tuple" ("_position" tn) ### ("_tuple_arg" ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ### ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn))))))))))))) ### ("_position" td))))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_ctor_tenv) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_position" td))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv)))))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("_applC" ("_position" List.set) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn)))))) ### ("_position" td))))) ### ("_datatype_field" ("_constify" defined_exns) ### ("\<^const>Set.empty")))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Stype) ("_position" td)) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ("_position" decls'))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ### ("_applC" ("_position" build_ctor_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ### ("_position" tenvT))) ### ("_position" td))))) ### ("_field" ("_constify" t) ### ("_position" tenvT'))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" td) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" decls') ### ("_idts" ("_position" decls) ("_position" tenvT')))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT') ### ("_applC" ("_position" alist_to_ns) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_tuple" ("_position" tn) ### ("_tuple_arg" ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ### ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" tn))))))))))))) ### ("_position" td))))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_ctor_tenv) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_position" td))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv)))))) ### ("\<^const>HOL.eq" ("_position" decls') ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("_applC" ("_position" List.set) ### ("_applC" ("_position" List.map) ### ("_cargs" ### ("_lambda" ("_position" x) ### ("_case_syntax" ("_position" x) ### ("_case1" ### ("_tuple" ("_position" tvs) ### ("_tuple_args" ("_position" tn) ### ("_tuple_arg" ("_position" ctors)))) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn)))))) ### ("_position" td))))) ### ("_field" ("_constify" defined_exns) ### ("\<^const>Set.empty")))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Stype) ("_position" td)) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ("_position" decls'))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ### ("_applC" ("_position" build_ctor_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ### ("_position" tenvT))) ### ("_position" td))))) ### ("_field" ("_constify" t) ### ("_position" tenvT'))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 1295 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenvT') ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" tn) ### ("_idts" ("_position" t0) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" decls) ("_position" tenv))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ("_position" tvs)) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_freevars) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" tvs) ("_position" t0)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_type_names) ### ("_cargs" ("_position" tenvT) ("_position" t0))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT') ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" tn) ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" type_name_subst) ### ("_cargs" ("_position" tenvT) ### ("_position" t0)))))))) ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ### ("_position" tenv))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Stabbrev) ### ("_cargs" ("_position" tvs) ### ("_cargs" ("_position" tn) ("_position" t0)))) ### ("_position" specs)) ### ("_cargs" ("_position" decls) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_position" tenvT'))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenvT') ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" tn) ### ("_idts" ("_position" t0) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" decls) ("_position" tenv))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ("_position" tvs)) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_freevars) ### ("_cargs" ### ("_constrain" ("\<^const>Groups.zero_class.zero") ### ("_type_name" nat)) ### ("_cargs" ("_position" tvs) ("_position" t0)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_type_names) ### ("_cargs" ("_position" tenvT) ("_position" t0))) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT') ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" tn) ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" type_name_subst) ### ("_cargs" ("_position" tenvT) ### ("_position" t0)))))))) ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ### ("_position" tenv))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Stabbrev) ### ("_cargs" ("_position" tvs) ### ("_cargs" ("_position" tn) ("_position" t0)))) ### ("_position" specs)) ### ("_cargs" ("_position" decls) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_position" tenvT'))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 1307 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 4 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" specs) ("_position" decls))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_exn_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv)))))) ### ("_Ball" ("_position" x) ### ("_applC" ("_position" set) ("_position" ts)) ### ("_applC" ### ("_applC" ("_position" check_type_names) ("_position" tenvT)) ### ("_position" x)))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Sexn) ### ("_cargs" ("_position" cn) ("_position" ts))) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_field" ("_constify" defined_exns) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn)))))))))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ("\<^const>List.list.Nil") ### ("_tuple_args" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_applC" ("_position" type_name_subst) ("_position" tenvT)) ### ("_position" ts))) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))))))))) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" specs) ("_position" decls))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_exn_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv)))))) ### ("_Ball" ("_position" x) ### ("_applC" ("_position" set) ("_position" ts)) ### ("_applC" ### ("_applC" ("_position" check_type_names) ("_position" tenvT)) ### ("_position" x)))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Sexn) ### ("_cargs" ("_position" cn) ("_position" ts))) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_datatype_field" ("_constify" defined_exns) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn)))))))))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ("\<^const>List.list.Nil") ### ("_tuple_args" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_applC" ("_position" type_name_subst) ("_position" tenvT)) ### ("_position" ts))) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))))))))) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" specs) ("_position" decls))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_exn_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv)))))) ### ("_Ball" ("_position" x) ### ("_applC" ("_position" set) ("_position" ts)) ### ("_applC" ### ("_applC" ("_position" check_type_names) ("_position" tenvT)) ### ("_position" x)))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Sexn) ### ("_cargs" ("_position" cn) ("_position" ts))) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_field" ("_constify" defined_exns) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn)))))))))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ("\<^const>List.list.Nil") ### ("_tuple_args" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_applC" ("_position" type_name_subst) ("_position" tenvT)) ### ("_position" ts))) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))))))))) ### ("_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" cn) ### ("_idts" ("_position" ts) ### ("_idts" ("_position" specs) ("_position" decls))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" check_exn_tenv) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" cn) ("_position" ts)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv)))))) ### ("_Ball" ("_position" x) ### ("_applC" ("_position" set) ("_position" ts)) ### ("_applC" ### ("_applC" ("_position" check_type_names) ("_position" tenvT)) ### ("_position" x)))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Sexn) ### ("_cargs" ("_position" cn) ("_position" ts))) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_datatype_field" ("_constify" defined_exns) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" cn)))))))))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" cn) ### ("_tuple" ("\<^const>List.list.Nil") ### ("_tuple_args" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_applC" ("_position" type_name_subst) ("_position" tenvT)) ### ("_position" ts))) ### ("_tuple_arg" ### ("_applC" ("_position" TypeExn) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ("_position" cn)))))))))) ### ("_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 1321 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 4 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" tn) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" decls) ("_position" tenvT')))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ("_position" tvs)) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT') ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" tn) ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn))))))))))) ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Stype_opq) ### ("_cargs" ("_position" tvs) ("_position" tn))) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn))))) ### ("_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_position" tenvT'))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" tn) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" decls) ("_position" tenvT')))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ("_position" tvs)) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT') ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" tn) ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn))))))))))) ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Stype_opq) ### ("_cargs" ("_position" tvs) ("_position" tn))) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn))))) ### ("_datatype_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_position" tenvT'))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" tn) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" decls) ("_position" tenvT')))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ("_position" tvs)) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT') ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" tn) ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn))))))))))) ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Stype_opq) ### ("_cargs" ("_position" tvs) ("_position" tn))) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn))))) ### ("_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_position" tenvT'))))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" mn) ### ("_idts" ("_position" tenvT) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" tn) ### ("_idts" ("_position" specs) ### ("_idts" ("_position" tvs) ### ("_idts" ("_position" decls) ("_position" tenvT')))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("_applC" ("_position" Lem_list.allDistinct) ("_position" tvs)) ### ("\<^const>HOL.conj" ### ("\<^const>HOL.eq" ("_position" tenvT') ### ("_applC" ("_position" nsSing) ### ("_cargs" ("_position" tn) ### ("_tuple" ("_position" tvs) ### ("_tuple_arg" ### ("_applC" ("_position" Tapp) ### ("_cargs" ### ("_applC" ("_position" List.map) ### ("_cargs" ("_position" Tvar) ("_position" tvs))) ### ("_applC" ("_position" TC_name) ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn))))))))))) ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ### ("_applC" ("_position" nsAppend) ### ("_cargs" ("_position" tenvT') ("_position" tenvT))) ### ("_cargs" ("_position" specs) ### ("_cargs" ("_position" decls) ("_position" tenv))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_specs) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" tenvT) ### ("_cargs" ### ("\<^const>List.list.Cons" ### ("_applC" ("_position" Stype_opq) ### ("_cargs" ("_position" tvs) ("_position" tn))) ### ("_position" specs)) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ("_position" decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("\<^const>Set.empty")) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("_Finset" ### ("_applC" ("_position" mk_id) ### ("_cargs" ("_position" mn) ### ("_position" tn))))) ### ("_datatype_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))))) ### ("_applC" ("_position" extend_dec_tenv) ### ("_cargs" ("_position" tenv) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_position" tenvT'))))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Proofs for inductive predicate(s) "type_specs" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### Legacy feature! Old-style inner comment: use "\ \...\" or "\<^cancel>\...\" instead (line 1342 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") ### Legacy feature! Old-style inner comment: use "\ \...\" or "\<^cancel>\...\" instead (line 1345 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") Found termination order: "{}" Proofs for inductive predicate(s) "check_signature" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### Ambiguous input (line 1378 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" tenvLift) ### ("_cargs" ("_position" mn) ("_position" tenv))) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v0) ("_position" tenv))))) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c0) ("_position" tenv))))) ### ("_datatype_field" ("_constify" t) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" t) ("_position" tenv)))))))))) ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.eq" ### ("_applC" ("_position" tenvLift) ### ("_cargs" ("_position" mn) ("_position" tenv))) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" v0) ("_position" tenv))))) ### ("_fields" ### ("_field" ("_constify" c0) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" c0) ("_position" tenv))))) ### ("_field" ("_constify" t) ### ("_applC" ("_position" nsLift) ### ("_cargs" ("_position" mn) ### ("_applC" ("_position" t) ("_position" tenv)))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. ### Ambiguous input (line 1392 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" spec) ### ("_idts" ("_position" ds) ### ("_idts" ("_position" tenv_impl) ### ("_idts" ("_position" tenv_spec) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" decls_impl) ### ("_position" decls_spec)))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods0) ("_position" decls)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_ds) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" ds) ### ("_cargs" ("_position" decls_impl) ### ("_position" tenv_impl)))))))) ### ("_applC" ("_position" check_signature) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_applC" ("_position" t) ("_position" tenv)) ### ("_cargs" ("_position" decls_impl) ### ("_cargs" ("_position" tenv_impl) ### ("_cargs" ("_position" spec) ### ("_cargs" ("_position" decls_spec) ### ("_position" tenv_spec))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_top) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" spec) ("_position" ds)))) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_mods0) ### ("_Finset" ("_list" ("_position" mn)))) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_datatype_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))) ### ("_position" decls_spec))) ### ("_applC" ("_position" tenvLift) ### ("_cargs" ("_position" mn) ### ("_position" tenv_spec)))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" tenv) ### ("_idts" ("_position" mn) ### ("_idts" ("_position" spec) ### ("_idts" ("_position" ds) ### ("_idts" ("_position" tenv_impl) ### ("_idts" ("_position" tenv_spec) ### ("_idts" ("_position" decls) ### ("_idts" ("_position" decls_impl) ### ("_position" decls_spec)))))))))) ### ("\<^const>Pure.imp" ### ("\<^const>HOL.Trueprop" ### ("\<^const>HOL.conj" ### ("\<^const>HOL.Not" ### ("\<^const>Set.member" ("_list" ("_position" mn)) ### ("_applC" ("_position" defined_mods0) ("_position" decls)))) ### ("\<^const>HOL.conj" ### ("_applC" ("_position" type_ds) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("_position" ds) ### ("_cargs" ("_position" decls_impl) ### ("_position" tenv_impl)))))))) ### ("_applC" ("_position" check_signature) ### ("_cargs" ("_list" ("_position" mn)) ### ("_cargs" ("_applC" ("_position" t) ("_position" tenv)) ### ("_cargs" ("_position" decls_impl) ### ("_cargs" ("_position" tenv_impl) ### ("_cargs" ("_position" spec) ### ("_cargs" ("_position" decls_spec) ### ("_position" tenv_spec))))))))))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_top) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ### ("_applC" ("_position" Tmod) ### ("_cargs" ("_position" mn) ### ("_cargs" ("_position" spec) ("_position" ds)))) ### ("_cargs" ### ("_applC" ("_position" union_decls) ### ("_cargs" ### ("_record" ### ("_fields" ### ("_field" ("_constify" defined_mods0) ### ("_Finset" ("_list" ("_position" mn)))) ### ("_fields" ### ("_field" ("_constify" defined_types0) ### ("\<^const>Set.empty")) ### ("_field" ("_constify" defined_exns) ### ("\<^const>Set.empty"))))) ### ("_position" decls_spec))) ### ("_applC" ("_position" tenvLift) ### ("_cargs" ("_position" mn) ### ("_position" tenv_spec)))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Proofs for inductive predicate(s) "type_top" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### Ambiguous input (line 1404 of "~~/afp/thys/CakeML/generated/CakeML/TypeSystem.thy") produces 2 parse trees: ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" tenv) ("_position" decls))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_prog) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_cargs" ("_position" empty_decls) ### ("_record" ### ("_fields" ### ("_field" ("_constify" v0) ("_position" nsEmpty)) ### ("_fields" ### ("_field" ("_constify" c0) ("_position" nsEmpty)) ### ("_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))) ### ("\<^const>Pure.all_binder" ### ("_idts" ("_position" extra_checks) ### ("_idts" ("_position" tenv) ("_position" decls))) ### ("\<^const>HOL.Trueprop" ### ("_applC" ("_position" type_prog) ### ("_cargs" ("_position" extra_checks) ### ("_cargs" ("_position" decls) ### ("_cargs" ("_position" tenv) ### ("_cargs" ("\<^const>List.list.Nil") ### ("_cargs" ("_position" empty_decls) ### ("_datatype_record" ### ("_datatype_fields" ### ("_datatype_field" ("_constify" v0) ### ("_position" nsEmpty)) ### ("_datatype_fields" ### ("_datatype_field" ("_constify" c0) ### ("_position" nsEmpty)) ### ("_datatype_field" ("_constify" t) ### ("_position" nsEmpty))))))))))))) ### Fortunately, only one parse tree is well-formed and type-correct, ### but you may still want to disambiguate your grammar or your input. Proofs for inductive predicate(s) "type_prog" Proving monotonicity ... Proving the introduction rules ... Proving the elimination rules ... Proving the induction rule ... Proving the simplification rules ... ### theory "CakeML.TypeSystem" ### 16.422s elapsed time, 32.676s cpu time, 1.888s GC time Loading theory "CakeML.TypeSystemAuxiliary" ### theory "CakeML.TypeSystemAuxiliary" ### 0.105s elapsed time, 0.208s cpu time, 0.000s GC time Found termination order: "case_sum (\p. size_list size (snd p)) (\p. size (snd p)) <*mlex*> {}" Found termination order: "size <*mlex*> {}" Found termination order: "size <*mlex*> {}" Found termination order: "size_list size <*mlex*> {}" Found termination order: "(\p. size (snd (snd p))) <*mlex*> {}" Found termination order: "(\p. size (snd p)) <*mlex*> {}" Found termination order: "(\p. size (snd (snd p))) <*mlex*> {}" Found termination order: "(\p. size (snd (snd p))) <*mlex*> {}" Found termination order: "(\p. size (snd p)) <*mlex*> {}" Found termination order: "(\p. size (snd p)) <*mlex*> {}" Found termination order: "size <*mlex*> {}" Found termination order: "case_sum (\p. size_list size (fst (snd (snd p)))) (\p. size (fst (snd (snd p)))) <*mlex*> {}" isabelle document -d /media/data/jenkins/workspace/isabelle-repo-afp/browser_info/AFP/CakeML/outline -o pdf -n outline -t /proof,/ML isabelle document -d /media/data/jenkins/workspace/isabelle-repo-afp/browser_info/AFP/CakeML/document -o pdf -n document *** Undefined fact: "word_cat_inj" (line 33 of "~~/afp/thys/IEEE_Floating_Point/FP64.thy") *** At command "by" (line 33 of "~~/afp/thys/IEEE_Floating_Point/FP64.thy")