% TIMEFORMAT='%3R'; { time (exec 2>&1; /home/martin/bin/satallax -E /home/martin/.isabelle/contrib/e-2.5-1/x86_64-linux/eprover -p tstp -t 5 /home/martin/judgement-day/tptp-thf/tptp/Hoare/prob_395__3254412_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:14:26.798

% Could-be-implicit typings (8)
thf(ty_n_t__Set__Oset_It__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J_J, type,
    set_Ho840737317_state : $tType).
thf(ty_n_t__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J, type,
    hoare_958474565_state : $tType).
thf(ty_n_t__Option__Ooption_It__Com__Ocom_J, type,
    option_com : $tType).
thf(ty_n_t__Set__Oset_It__Com__Opname_J, type,
    set_pname : $tType).
thf(ty_n_t__Com__Ostate, type,
    state : $tType).
thf(ty_n_t__Com__Opname, type,
    pname : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).
thf(ty_n_t__Com__Ocom, type,
    com : $tType).

% Explicit typings (35)
thf(sy_c_Com_OWT, type,
    wt : com > $o).
thf(sy_c_Com_Obody, type,
    body : pname > option_com).
thf(sy_c_Com_Ocom_OBODY, type,
    body2 : pname > com).
thf(sy_c_Com_Ocom_OSKIP, type,
    skip : com).
thf(sy_c_Com_Ocom_OSemi, type,
    semi : com > com > com).
thf(sy_c_Com_Ocom_Osize__com, type,
    size_com : com > nat).
thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat, type,
    plus_plus_nat : nat > nat > nat).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat, type,
    zero_zero_nat : nat).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_OMGT, type,
    hoare_Mirabelle_MGT : com > hoare_958474565_state).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_Ohoare__derivs_001t__Com__Ostate, type,
    hoare_604442164_state : set_Ho840737317_state > set_Ho840737317_state > $o).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_Ohoare__valids_001t__Com__Ostate, type,
    hoare_318887606_state : set_Ho840737317_state > set_Ho840737317_state > $o).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_Ostate__not__singleton, type,
    hoare_405891322gleton : $o).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_Otriple_Osize__triple_001t__Com__Ostate, type,
    hoare_103296669_state : (state > nat) > hoare_958474565_state > nat).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_Otriple_Otriple_001t__Com__Ostate, type,
    hoare_1659279548_state : (state > state > $o) > com > (state > state > $o) > hoare_958474565_state).
thf(sy_c_Hoare__Mirabelle__raqjowkjvm_Otriple__valid_001t__Com__Ostate, type,
    hoare_364318704_state : nat > hoare_958474565_state > $o).
thf(sy_c_Map_Odom_001t__Com__Opname_001t__Com__Ocom, type,
    dom_pname_com : (pname > option_com) > set_pname).
thf(sy_c_Nat_OSuc, type,
    suc : nat > nat).
thf(sy_c_Nat_Osize__class_Osize_001t__Com__Ocom, type,
    size_size_com : com > nat).
thf(sy_c_Nat_Osize__class_Osize_001t__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J, type,
    size_s1457777073_state : hoare_958474565_state > nat).
thf(sy_c_Natural_Oevalc, type,
    evalc : com > state > state > $o).
thf(sy_c_Natural_Oevaln, type,
    evaln : com > state > nat > state > $o).
thf(sy_c_Option_Ooption_ONone_001t__Com__Ocom, type,
    none_com : option_com).
thf(sy_c_Option_Ooption_Othe_001t__Com__Ocom, type,
    the_com : option_com > com).
thf(sy_c_Orderings_Obot__class_Obot_001_062_It__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J_M_Eo_J, type,
    bot_bo1428770700tate_o : hoare_958474565_state > $o).
thf(sy_c_Orderings_Obot__class_Obot_001t__Nat__Onat, type,
    bot_bot_nat : nat).
thf(sy_c_Orderings_Obot__class_Obot_001t__Set__Oset_It__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J_J, type,
    bot_bo105666705_state : set_Ho840737317_state).
thf(sy_c_Set_OCollect_001t__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J, type,
    collec305460656_state : (hoare_958474565_state > $o) > set_Ho840737317_state).
thf(sy_c_Set_Oinsert_001t__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J, type,
    insert776267541_state : hoare_958474565_state > set_Ho840737317_state > set_Ho840737317_state).
thf(sy_c_Set_Ois__empty_001t__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J, type,
    is_emp266830871_state : set_Ho840737317_state > $o).
thf(sy_c_Set_Ois__singleton_001t__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J, type,
    is_sin536631353_state : set_Ho840737317_state > $o).
thf(sy_c_Set_Othe__elem_001t__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J, type,
    the_el1300254266_state : set_Ho840737317_state > hoare_958474565_state).
thf(sy_c_member_001t__Com__Opname, type,
    member_pname : pname > set_pname > $o).
thf(sy_c_member_001t__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J, type,
    member109514606_state : hoare_958474565_state > set_Ho840737317_state > $o).
thf(sy_v_G, type,
    g : set_Ho840737317_state).
thf(sy_v_pn, type,
    pn : pname).

% Relevant facts (135)
thf(fact_0_derivs__insertD, axiom,
    ((![G : set_Ho840737317_state, T : hoare_958474565_state, Ts : set_Ho840737317_state]: ((hoare_604442164_state @ G @ (insert776267541_state @ T @ Ts)) => ((hoare_604442164_state @ G @ (insert776267541_state @ T @ bot_bo105666705_state)) & (hoare_604442164_state @ G @ Ts)))))). % derivs_insertD
thf(fact_1_cut, axiom,
    ((![G2 : set_Ho840737317_state, Ts : set_Ho840737317_state, G : set_Ho840737317_state]: ((hoare_604442164_state @ G2 @ Ts) => ((hoare_604442164_state @ G @ G2) => (hoare_604442164_state @ G @ Ts)))))). % cut
thf(fact_2_empty, axiom,
    ((![G : set_Ho840737317_state]: (hoare_604442164_state @ G @ bot_bo105666705_state)))). % empty
thf(fact_3_hoare__derivs_Oinsert, axiom,
    ((![G : set_Ho840737317_state, T : hoare_958474565_state, Ts : set_Ho840737317_state]: ((hoare_604442164_state @ G @ (insert776267541_state @ T @ bot_bo105666705_state)) => ((hoare_604442164_state @ G @ Ts) => (hoare_604442164_state @ G @ (insert776267541_state @ T @ Ts))))))). % hoare_derivs.insert
thf(fact_4_singletonI, axiom,
    ((![A : hoare_958474565_state]: (member109514606_state @ A @ (insert776267541_state @ A @ bot_bo105666705_state))))). % singletonI
thf(fact_5_com_Oinject_I6_J, axiom,
    ((![X7 : pname, Y7 : pname]: (((body2 @ X7) = (body2 @ Y7)) = (X7 = Y7))))). % com.inject(6)
thf(fact_6_insertCI, axiom,
    ((![A : hoare_958474565_state, B : set_Ho840737317_state, B2 : hoare_958474565_state]: (((~ ((member109514606_state @ A @ B))) => (A = B2)) => (member109514606_state @ A @ (insert776267541_state @ B2 @ B)))))). % insertCI
thf(fact_7_insert__iff, axiom,
    ((![A : hoare_958474565_state, B2 : hoare_958474565_state, A2 : set_Ho840737317_state]: ((member109514606_state @ A @ (insert776267541_state @ B2 @ A2)) = (((A = B2)) | ((member109514606_state @ A @ A2))))))). % insert_iff
thf(fact_8_insert__absorb2, axiom,
    ((![X : hoare_958474565_state, A2 : set_Ho840737317_state]: ((insert776267541_state @ X @ (insert776267541_state @ X @ A2)) = (insert776267541_state @ X @ A2))))). % insert_absorb2
thf(fact_9_empty__iff, axiom,
    ((![C : hoare_958474565_state]: (~ ((member109514606_state @ C @ bot_bo105666705_state)))))). % empty_iff
thf(fact_10_all__not__in__conv, axiom,
    ((![A2 : set_Ho840737317_state]: ((![X2 : hoare_958474565_state]: (~ ((member109514606_state @ X2 @ A2)))) = (A2 = bot_bo105666705_state))))). % all_not_in_conv
thf(fact_11_Collect__empty__eq, axiom,
    ((![P : hoare_958474565_state > $o]: (((collec305460656_state @ P) = bot_bo105666705_state) = (![X2 : hoare_958474565_state]: (~ ((P @ X2)))))))). % Collect_empty_eq
thf(fact_12_empty__Collect__eq, axiom,
    ((![P : hoare_958474565_state > $o]: ((bot_bo105666705_state = (collec305460656_state @ P)) = (![X2 : hoare_958474565_state]: (~ ((P @ X2)))))))). % empty_Collect_eq
thf(fact_13_BodyN, axiom,
    ((![P : state > state > $o, Pn : pname, Q : state > state > $o, G : set_Ho840737317_state]: ((hoare_604442164_state @ (insert776267541_state @ (hoare_1659279548_state @ P @ (body2 @ Pn) @ Q) @ G) @ (insert776267541_state @ (hoare_1659279548_state @ P @ (the_com @ (body @ Pn)) @ Q) @ bot_bo105666705_state)) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ (body2 @ Pn) @ Q) @ bot_bo105666705_state)))))). % BodyN
thf(fact_14_weak__Body, axiom,
    ((![G : set_Ho840737317_state, P : state > state > $o, Pn : pname, Q : state > state > $o]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ (the_com @ (body @ Pn)) @ Q) @ bot_bo105666705_state)) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ (body2 @ Pn) @ Q) @ bot_bo105666705_state)))))). % weak_Body
thf(fact_15_triple_Oinject, axiom,
    ((![X1 : state > state > $o, X22 : com, X3 : state > state > $o, Y1 : state > state > $o, Y2 : com, Y3 : state > state > $o]: (((hoare_1659279548_state @ X1 @ X22 @ X3) = (hoare_1659279548_state @ Y1 @ Y2 @ Y3)) = (((X1 = Y1)) & ((((X22 = Y2)) & ((X3 = Y3))))))))). % triple.inject
thf(fact_16_triple_Oinduct, axiom,
    ((![P : hoare_958474565_state > $o, Triple : hoare_958474565_state]: ((![X1a : state > state > $o, X2a : com, X3a : state > state > $o]: (P @ (hoare_1659279548_state @ X1a @ X2a @ X3a))) => (P @ Triple))))). % triple.induct
thf(fact_17_triple_Oexhaust, axiom,
    ((![Y : hoare_958474565_state]: (~ ((![X12 : state > state > $o, X23 : com, X32 : state > state > $o]: (~ ((Y = (hoare_1659279548_state @ X12 @ X23 @ X32)))))))))). % triple.exhaust
thf(fact_18_bot__set__def, axiom,
    ((bot_bo105666705_state = (collec305460656_state @ bot_bo1428770700tate_o)))). % bot_set_def
thf(fact_19_ex__in__conv, axiom,
    ((![A2 : set_Ho840737317_state]: ((?[X2 : hoare_958474565_state]: (member109514606_state @ X2 @ A2)) = (~ ((A2 = bot_bo105666705_state))))))). % ex_in_conv
thf(fact_20_equals0I, axiom,
    ((![A2 : set_Ho840737317_state]: ((![Y4 : hoare_958474565_state]: (~ ((member109514606_state @ Y4 @ A2)))) => (A2 = bot_bo105666705_state))))). % equals0I
thf(fact_21_equals0D, axiom,
    ((![A2 : set_Ho840737317_state, A : hoare_958474565_state]: ((A2 = bot_bo105666705_state) => (~ ((member109514606_state @ A @ A2))))))). % equals0D
thf(fact_22_emptyE, axiom,
    ((![A : hoare_958474565_state]: (~ ((member109514606_state @ A @ bot_bo105666705_state)))))). % emptyE
thf(fact_23_mk__disjoint__insert, axiom,
    ((![A : hoare_958474565_state, A2 : set_Ho840737317_state]: ((member109514606_state @ A @ A2) => (?[B3 : set_Ho840737317_state]: ((A2 = (insert776267541_state @ A @ B3)) & (~ ((member109514606_state @ A @ B3))))))))). % mk_disjoint_insert
thf(fact_24_insert__commute, axiom,
    ((![X : hoare_958474565_state, Y : hoare_958474565_state, A2 : set_Ho840737317_state]: ((insert776267541_state @ X @ (insert776267541_state @ Y @ A2)) = (insert776267541_state @ Y @ (insert776267541_state @ X @ A2)))))). % insert_commute
thf(fact_25_insert__eq__iff, axiom,
    ((![A : hoare_958474565_state, A2 : set_Ho840737317_state, B2 : hoare_958474565_state, B : set_Ho840737317_state]: ((~ ((member109514606_state @ A @ A2))) => ((~ ((member109514606_state @ B2 @ B))) => (((insert776267541_state @ A @ A2) = (insert776267541_state @ B2 @ B)) = (((((A = B2)) => ((A2 = B)))) & ((((~ ((A = B2)))) => ((?[C2 : set_Ho840737317_state]: (((A2 = (insert776267541_state @ B2 @ C2))) & ((((~ ((member109514606_state @ B2 @ C2)))) & ((((B = (insert776267541_state @ A @ C2))) & ((~ ((member109514606_state @ A @ C2)))))))))))))))))))). % insert_eq_iff
thf(fact_26_insert__absorb, axiom,
    ((![A : hoare_958474565_state, A2 : set_Ho840737317_state]: ((member109514606_state @ A @ A2) => ((insert776267541_state @ A @ A2) = A2))))). % insert_absorb
thf(fact_27_insert__ident, axiom,
    ((![X : hoare_958474565_state, A2 : set_Ho840737317_state, B : set_Ho840737317_state]: ((~ ((member109514606_state @ X @ A2))) => ((~ ((member109514606_state @ X @ B))) => (((insert776267541_state @ X @ A2) = (insert776267541_state @ X @ B)) = (A2 = B))))))). % insert_ident
thf(fact_28_Set_Oset__insert, axiom,
    ((![X : hoare_958474565_state, A2 : set_Ho840737317_state]: ((member109514606_state @ X @ A2) => (~ ((![B3 : set_Ho840737317_state]: ((A2 = (insert776267541_state @ X @ B3)) => (member109514606_state @ X @ B3))))))))). % Set.set_insert
thf(fact_29_insertI2, axiom,
    ((![A : hoare_958474565_state, B : set_Ho840737317_state, B2 : hoare_958474565_state]: ((member109514606_state @ A @ B) => (member109514606_state @ A @ (insert776267541_state @ B2 @ B)))))). % insertI2
thf(fact_30_insertI1, axiom,
    ((![A : hoare_958474565_state, B : set_Ho840737317_state]: (member109514606_state @ A @ (insert776267541_state @ A @ B))))). % insertI1
thf(fact_31_insertE, axiom,
    ((![A : hoare_958474565_state, B2 : hoare_958474565_state, A2 : set_Ho840737317_state]: ((member109514606_state @ A @ (insert776267541_state @ B2 @ A2)) => ((~ ((A = B2))) => (member109514606_state @ A @ A2)))))). % insertE
thf(fact_32_conseq, axiom,
    ((![P : state > state > $o, G : set_Ho840737317_state, C : com, Q : state > state > $o]: ((![Z : state, S : state]: ((P @ Z @ S) => (?[P2 : state > state > $o, Q2 : state > state > $o]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P2 @ C @ Q2) @ bot_bo105666705_state)) & (![S2 : state]: ((![Z2 : state]: ((P2 @ Z2 @ S) => (Q2 @ Z2 @ S2))) => (Q @ Z @ S2))))))) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state)))))). % conseq
thf(fact_33_conseq12, axiom,
    ((![G : set_Ho840737317_state, P3 : state > state > $o, C : com, Q3 : state > state > $o, P : state > state > $o, Q : state > state > $o]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P3 @ C @ Q3) @ bot_bo105666705_state)) => ((![Z : state, S : state]: ((P @ Z @ S) => (![S2 : state]: ((![Z2 : state]: ((P3 @ Z2 @ S) => (Q3 @ Z2 @ S2))) => (Q @ Z @ S2))))) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state))))))). % conseq12
thf(fact_34_conseq2, axiom,
    ((![G : set_Ho840737317_state, P : state > state > $o, C : com, Q3 : state > state > $o, Q : state > state > $o]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q3) @ bot_bo105666705_state)) => ((![Z : state, S : state]: ((Q3 @ Z @ S) => (Q @ Z @ S))) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state))))))). % conseq2
thf(fact_35_conseq1, axiom,
    ((![G : set_Ho840737317_state, P3 : state > state > $o, C : com, Q : state > state > $o, P : state > state > $o]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P3 @ C @ Q) @ bot_bo105666705_state)) => ((![Z : state, S : state]: ((P @ Z @ S) => (P3 @ Z @ S))) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state))))))). % conseq1
thf(fact_36_singleton__inject, axiom,
    ((![A : hoare_958474565_state, B2 : hoare_958474565_state]: (((insert776267541_state @ A @ bot_bo105666705_state) = (insert776267541_state @ B2 @ bot_bo105666705_state)) => (A = B2))))). % singleton_inject
thf(fact_37_insert__not__empty, axiom,
    ((![A : hoare_958474565_state, A2 : set_Ho840737317_state]: (~ (((insert776267541_state @ A @ A2) = bot_bo105666705_state)))))). % insert_not_empty
thf(fact_38_doubleton__eq__iff, axiom,
    ((![A : hoare_958474565_state, B2 : hoare_958474565_state, C : hoare_958474565_state, D : hoare_958474565_state]: (((insert776267541_state @ A @ (insert776267541_state @ B2 @ bot_bo105666705_state)) = (insert776267541_state @ C @ (insert776267541_state @ D @ bot_bo105666705_state))) = (((((A = C)) & ((B2 = D)))) | ((((A = D)) & ((B2 = C))))))))). % doubleton_eq_iff
thf(fact_39_singleton__iff, axiom,
    ((![B2 : hoare_958474565_state, A : hoare_958474565_state]: ((member109514606_state @ B2 @ (insert776267541_state @ A @ bot_bo105666705_state)) = (B2 = A))))). % singleton_iff
thf(fact_40_singletonD, axiom,
    ((![B2 : hoare_958474565_state, A : hoare_958474565_state]: ((member109514606_state @ B2 @ (insert776267541_state @ A @ bot_bo105666705_state)) => (B2 = A))))). % singletonD
thf(fact_41_MGF__complete, axiom,
    ((![C : com, P : state > state > $o, Q : state > state > $o]: ((hoare_604442164_state @ bot_bo105666705_state @ (insert776267541_state @ (hoare_Mirabelle_MGT @ C) @ bot_bo105666705_state)) => ((hoare_318887606_state @ bot_bo105666705_state @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state)) => (hoare_604442164_state @ bot_bo105666705_state @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state))))))). % MGF_complete
thf(fact_42_the__elem__eq, axiom,
    ((![X : hoare_958474565_state]: ((the_el1300254266_state @ (insert776267541_state @ X @ bot_bo105666705_state)) = X)))). % the_elem_eq
thf(fact_43_mem__Collect__eq, axiom,
    ((![A : hoare_958474565_state, P : hoare_958474565_state > $o]: ((member109514606_state @ A @ (collec305460656_state @ P)) = (P @ A))))). % mem_Collect_eq
thf(fact_44_Collect__mem__eq, axiom,
    ((![A2 : set_Ho840737317_state]: ((collec305460656_state @ (^[X2 : hoare_958474565_state]: (member109514606_state @ X2 @ A2))) = A2)))). % Collect_mem_eq
thf(fact_45_is__singletonI, axiom,
    ((![X : hoare_958474565_state]: (is_sin536631353_state @ (insert776267541_state @ X @ bot_bo105666705_state))))). % is_singletonI
thf(fact_46_hoare__derivs_OSkip, axiom,
    ((![G : set_Ho840737317_state, P : state > state > $o]: (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ skip @ P) @ bot_bo105666705_state))))). % hoare_derivs.Skip
thf(fact_47_Comp, axiom,
    ((![G : set_Ho840737317_state, P : state > state > $o, C : com, Q : state > state > $o, D : com, R : state > state > $o]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state)) => ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ Q @ D @ R) @ bot_bo105666705_state)) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ (semi @ C @ D) @ R) @ bot_bo105666705_state))))))). % Comp
thf(fact_48_Set_Ois__empty__def, axiom,
    ((is_emp266830871_state = (^[A3 : set_Ho840737317_state]: (A3 = bot_bo105666705_state))))). % Set.is_empty_def
thf(fact_49_is__singleton__def, axiom,
    ((is_sin536631353_state = (^[A3 : set_Ho840737317_state]: (?[X2 : hoare_958474565_state]: (A3 = (insert776267541_state @ X2 @ bot_bo105666705_state))))))). % is_singleton_def
thf(fact_50_is__singletonE, axiom,
    ((![A2 : set_Ho840737317_state]: ((is_sin536631353_state @ A2) => (~ ((![X4 : hoare_958474565_state]: (~ ((A2 = (insert776267541_state @ X4 @ bot_bo105666705_state))))))))))). % is_singletonE
thf(fact_51_com_Oinject_I3_J, axiom,
    ((![X41 : com, X42 : com, Y41 : com, Y42 : com]: (((semi @ X41 @ X42) = (semi @ Y41 @ Y42)) = (((X41 = Y41)) & ((X42 = Y42))))))). % com.inject(3)
thf(fact_52_com_Odistinct_I5_J, axiom,
    ((![X41 : com, X42 : com]: (~ ((skip = (semi @ X41 @ X42))))))). % com.distinct(5)
thf(fact_53_com_Odistinct_I41_J, axiom,
    ((![X41 : com, X42 : com, X7 : pname]: (~ (((semi @ X41 @ X42) = (body2 @ X7))))))). % com.distinct(41)
thf(fact_54_com_Odistinct_I11_J, axiom,
    ((![X7 : pname]: (~ ((skip = (body2 @ X7))))))). % com.distinct(11)
thf(fact_55_is__singleton__the__elem, axiom,
    ((is_sin536631353_state = (^[A3 : set_Ho840737317_state]: (A3 = (insert776267541_state @ (the_el1300254266_state @ A3) @ bot_bo105666705_state)))))). % is_singleton_the_elem
thf(fact_56_is__singletonI_H, axiom,
    ((![A2 : set_Ho840737317_state]: ((~ ((A2 = bot_bo105666705_state))) => ((![X4 : hoare_958474565_state, Y4 : hoare_958474565_state]: ((member109514606_state @ X4 @ A2) => ((member109514606_state @ Y4 @ A2) => (X4 = Y4)))) => (is_sin536631353_state @ A2)))))). % is_singletonI'
thf(fact_57_hoare__sound, axiom,
    ((![G : set_Ho840737317_state, Ts : set_Ho840737317_state]: ((hoare_604442164_state @ G @ Ts) => (hoare_318887606_state @ G @ Ts))))). % hoare_sound
thf(fact_58_bot__empty__eq, axiom,
    ((bot_bo1428770700tate_o = (^[X2 : hoare_958474565_state]: (member109514606_state @ X2 @ bot_bo105666705_state))))). % bot_empty_eq
thf(fact_59_Collect__empty__eq__bot, axiom,
    ((![P : hoare_958474565_state > $o]: (((collec305460656_state @ P) = bot_bo105666705_state) = (P = bot_bo1428770700tate_o))))). % Collect_empty_eq_bot
thf(fact_60_MGF__lemma1, axiom,
    ((![G : set_Ho840737317_state, C : com]: (hoare_405891322gleton => ((![X4 : pname]: ((member_pname @ X4 @ (dom_pname_com @ body)) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_Mirabelle_MGT @ (body2 @ X4)) @ bot_bo105666705_state)))) => ((wt @ C) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_Mirabelle_MGT @ C) @ bot_bo105666705_state)))))))). % MGF_lemma1
thf(fact_61_Body__triple__valid__Suc, axiom,
    ((![N : nat, P : state > state > $o, Pn : pname, Q : state > state > $o]: ((hoare_364318704_state @ N @ (hoare_1659279548_state @ P @ (the_com @ (body @ Pn)) @ Q)) = (hoare_364318704_state @ (suc @ N) @ (hoare_1659279548_state @ P @ (body2 @ Pn) @ Q)))))). % Body_triple_valid_Suc
thf(fact_62_single__stateE, axiom,
    ((hoare_405891322gleton => (![T2 : state]: (~ ((![S : state]: (S = T2)))))))). % single_stateE
thf(fact_63_state__not__singleton__def, axiom,
    ((hoare_405891322gleton = (?[S3 : state]: (?[T3 : state]: (~ ((S3 = T3)))))))). % state_not_singleton_def
thf(fact_64_WT_OSemi, axiom,
    ((![C0 : com, C1 : com]: ((wt @ C0) => ((wt @ C1) => (wt @ (semi @ C0 @ C1))))))). % WT.Semi
thf(fact_65_WTs__elim__cases_I4_J, axiom,
    ((![C1 : com, C22 : com]: ((wt @ (semi @ C1 @ C22)) => (~ (((wt @ C1) => (~ ((wt @ C22)))))))))). % WTs_elim_cases(4)
thf(fact_66_WT_OSkip, axiom,
    ((wt @ skip))). % WT.Skip
thf(fact_67_nat_Oinject, axiom,
    ((![X22 : nat, Y2 : nat]: (((suc @ X22) = (suc @ Y2)) = (X22 = Y2))))). % nat.inject
thf(fact_68_old_Onat_Oinject, axiom,
    ((![Nat : nat, Nat2 : nat]: (((suc @ Nat) = (suc @ Nat2)) = (Nat = Nat2))))). % old.nat.inject
thf(fact_69_Body__triple__valid__0, axiom,
    ((![P : state > state > $o, Pn : pname, Q : state > state > $o]: (hoare_364318704_state @ zero_zero_nat @ (hoare_1659279548_state @ P @ (body2 @ Pn) @ Q))))). % Body_triple_valid_0
thf(fact_70_evaln_OBody, axiom,
    ((![Pn : pname, S0 : state, N : nat, S1 : state]: ((evaln @ (the_com @ (body @ Pn)) @ S0 @ N @ S1) => (evaln @ (body2 @ Pn) @ S0 @ (suc @ N) @ S1))))). % evaln.Body
thf(fact_71_nat_Odistinct_I1_J, axiom,
    ((![X22 : nat]: (~ ((zero_zero_nat = (suc @ X22))))))). % nat.distinct(1)
thf(fact_72_old_Onat_Odistinct_I2_J, axiom,
    ((![Nat2 : nat]: (~ (((suc @ Nat2) = zero_zero_nat)))))). % old.nat.distinct(2)
thf(fact_73_old_Onat_Odistinct_I1_J, axiom,
    ((![Nat2 : nat]: (~ ((zero_zero_nat = (suc @ Nat2))))))). % old.nat.distinct(1)
thf(fact_74_nat_OdiscI, axiom,
    ((![Nat : nat, X22 : nat]: ((Nat = (suc @ X22)) => (~ ((Nat = zero_zero_nat))))))). % nat.discI
thf(fact_75_nat__induct, axiom,
    ((![P : nat > $o, N : nat]: ((P @ zero_zero_nat) => ((![N2 : nat]: ((P @ N2) => (P @ (suc @ N2)))) => (P @ N)))))). % nat_induct
thf(fact_76_diff__induct, axiom,
    ((![P : nat > nat > $o, M : nat, N : nat]: ((![X4 : nat]: (P @ X4 @ zero_zero_nat)) => ((![Y4 : nat]: (P @ zero_zero_nat @ (suc @ Y4))) => ((![X4 : nat, Y4 : nat]: ((P @ X4 @ Y4) => (P @ (suc @ X4) @ (suc @ Y4)))) => (P @ M @ N))))))). % diff_induct
thf(fact_77_zero__induct, axiom,
    ((![P : nat > $o, K : nat]: ((P @ K) => ((![N2 : nat]: ((P @ (suc @ N2)) => (P @ N2))) => (P @ zero_zero_nat)))))). % zero_induct
thf(fact_78_Suc__neq__Zero, axiom,
    ((![M : nat]: (~ (((suc @ M) = zero_zero_nat)))))). % Suc_neq_Zero
thf(fact_79_Zero__neq__Suc, axiom,
    ((![M : nat]: (~ ((zero_zero_nat = (suc @ M))))))). % Zero_neq_Suc
thf(fact_80_Zero__not__Suc, axiom,
    ((![M : nat]: (~ ((zero_zero_nat = (suc @ M))))))). % Zero_not_Suc
thf(fact_81_evaln__Suc, axiom,
    ((![C : com, S4 : state, N : nat, S5 : state]: ((evaln @ C @ S4 @ N @ S5) => (evaln @ C @ S4 @ (suc @ N) @ S5))))). % evaln_Suc
thf(fact_82_old_Onat_Oexhaust, axiom,
    ((![Y : nat]: ((~ ((Y = zero_zero_nat))) => (~ ((![Nat3 : nat]: (~ ((Y = (suc @ Nat3))))))))))). % old.nat.exhaust
thf(fact_83_old_Onat_Oinducts, axiom,
    ((![P : nat > $o, Nat : nat]: ((P @ zero_zero_nat) => ((![Nat3 : nat]: ((P @ Nat3) => (P @ (suc @ Nat3)))) => (P @ Nat)))))). % old.nat.inducts
thf(fact_84_not0__implies__Suc, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) => (?[M2 : nat]: (N = (suc @ M2))))))). % not0_implies_Suc
thf(fact_85_evaln__max2, axiom,
    ((![C1 : com, S1 : state, N1 : nat, T1 : state, C22 : com, S22 : state, N22 : nat, T22 : state]: ((evaln @ C1 @ S1 @ N1 @ T1) => ((evaln @ C22 @ S22 @ N22 @ T22) => (?[N2 : nat]: ((evaln @ C1 @ S1 @ N2 @ T1) & (evaln @ C22 @ S22 @ N2 @ T22)))))))). % evaln_max2
thf(fact_86_evaln__elim__cases_I4_J, axiom,
    ((![C1 : com, C22 : com, S4 : state, N : nat, T : state]: ((evaln @ (semi @ C1 @ C22) @ S4 @ N @ T) => (~ ((![S12 : state]: ((evaln @ C1 @ S4 @ N @ S12) => (~ ((evaln @ C22 @ S12 @ N @ T))))))))))). % evaln_elim_cases(4)
thf(fact_87_evaln__elim__cases_I1_J, axiom,
    ((![S4 : state, N : nat, T : state]: ((evaln @ skip @ S4 @ N @ T) => (T = S4))))). % evaln_elim_cases(1)
thf(fact_88_evaln_OSemi, axiom,
    ((![C0 : com, S0 : state, N : nat, S1 : state, C1 : com, S22 : state]: ((evaln @ C0 @ S0 @ N @ S1) => ((evaln @ C1 @ S1 @ N @ S22) => (evaln @ (semi @ C0 @ C1) @ S0 @ N @ S22)))))). % evaln.Semi
thf(fact_89_evaln_OSkip, axiom,
    ((![S4 : state, N : nat]: (evaln @ skip @ S4 @ N @ S4)))). % evaln.Skip
thf(fact_90_bot__nat__def, axiom,
    ((bot_bot_nat = zero_zero_nat))). % bot_nat_def
thf(fact_91_triple__valid__def2, axiom,
    ((![N : nat, P : state > state > $o, C : com, Q : state > state > $o]: ((hoare_364318704_state @ N @ (hoare_1659279548_state @ P @ C @ Q)) = (![Z3 : state]: (![S3 : state]: (((P @ Z3 @ S3)) => ((![S6 : state]: (((evaln @ C @ S3 @ N @ S6)) => ((Q @ Z3 @ S6)))))))))))). % triple_valid_def2
thf(fact_92_n__not__Suc__n, axiom,
    ((![N : nat]: (~ ((N = (suc @ N))))))). % n_not_Suc_n
thf(fact_93_Suc__inject, axiom,
    ((![X : nat, Y : nat]: (((suc @ X) = (suc @ Y)) => (X = Y))))). % Suc_inject
thf(fact_94_evaln__elim__cases_I6_J, axiom,
    ((![P : pname, S4 : state, N : nat, S1 : state]: ((evaln @ (body2 @ P) @ S4 @ N @ S1) => (~ ((![N2 : nat]: ((N = (suc @ N2)) => (~ ((evaln @ (the_com @ (body @ P)) @ S4 @ N2 @ S1))))))))))). % evaln_elim_cases(6)
thf(fact_95_triple_Osize__gen, axiom,
    ((![X : state > nat, X1 : state > state > $o, X22 : com, X3 : state > state > $o]: ((hoare_103296669_state @ X @ (hoare_1659279548_state @ X1 @ X22 @ X3)) = (suc @ zero_zero_nat))))). % triple.size_gen
thf(fact_96_triple_Osize_I2_J, axiom,
    ((![X1 : state > state > $o, X22 : com, X3 : state > state > $o]: ((size_s1457777073_state @ (hoare_1659279548_state @ X1 @ X22 @ X3)) = (suc @ zero_zero_nat))))). % triple.size(2)
thf(fact_97_size__neq__size__imp__neq, axiom,
    ((![X : com, Y : com]: ((~ (((size_size_com @ X) = (size_size_com @ Y)))) => (~ ((X = Y))))))). % size_neq_size_imp_neq
thf(fact_98_zero__reorient, axiom,
    ((![X : nat]: ((zero_zero_nat = X) = (X = zero_zero_nat))))). % zero_reorient
thf(fact_99_evalc_OBody, axiom,
    ((![Pn : pname, S0 : state, S1 : state]: ((evalc @ (the_com @ (body @ Pn)) @ S0 @ S1) => (evalc @ (body2 @ Pn) @ S0 @ S1))))). % evalc.Body
thf(fact_100_evalc__elim__cases_I6_J, axiom,
    ((![P : pname, S4 : state, S1 : state]: ((evalc @ (body2 @ P) @ S4 @ S1) => (evalc @ (the_com @ (body @ P)) @ S4 @ S1))))). % evalc_elim_cases(6)
thf(fact_101_com_Osize__gen_I1_J, axiom,
    (((size_com @ skip) = zero_zero_nat))). % com.size_gen(1)
thf(fact_102_evalc_OSemi, axiom,
    ((![C0 : com, S0 : state, S1 : state, C1 : com, S22 : state]: ((evalc @ C0 @ S0 @ S1) => ((evalc @ C1 @ S1 @ S22) => (evalc @ (semi @ C0 @ C1) @ S0 @ S22)))))). % evalc.Semi
thf(fact_103_evalc__elim__cases_I4_J, axiom,
    ((![C1 : com, C22 : com, S4 : state, T : state]: ((evalc @ (semi @ C1 @ C22) @ S4 @ T) => (~ ((![S12 : state]: ((evalc @ C1 @ S4 @ S12) => (~ ((evalc @ C22 @ S12 @ T))))))))))). % evalc_elim_cases(4)
thf(fact_104_evalc_OSkip, axiom,
    ((![S4 : state]: (evalc @ skip @ S4 @ S4)))). % evalc.Skip
thf(fact_105_evalc__elim__cases_I1_J, axiom,
    ((![S4 : state, T : state]: ((evalc @ skip @ S4 @ T) => (T = S4))))). % evalc_elim_cases(1)
thf(fact_106_com__det, axiom,
    ((![C : com, S4 : state, T : state, U : state]: ((evalc @ C @ S4 @ T) => ((evalc @ C @ S4 @ U) => (U = T)))))). % com_det
thf(fact_107_eval__eq, axiom,
    ((evalc = (^[C3 : com]: (^[S3 : state]: (^[T3 : state]: (?[N3 : nat]: (evaln @ C3 @ S3 @ N3 @ T3)))))))). % eval_eq
thf(fact_108_evalc__evaln, axiom,
    ((![C : com, S4 : state, T : state]: ((evalc @ C @ S4 @ T) => (?[N2 : nat]: (evaln @ C @ S4 @ N2 @ T)))))). % evalc_evaln
thf(fact_109_evaln__evalc, axiom,
    ((![C : com, S4 : state, N : nat, T : state]: ((evaln @ C @ S4 @ N @ T) => (evalc @ C @ S4 @ T))))). % evaln_evalc
thf(fact_110_com_Osize_I15_J, axiom,
    ((![X7 : pname]: ((size_size_com @ (body2 @ X7)) = zero_zero_nat)))). % com.size(15)
thf(fact_111_com_Osize_I9_J, axiom,
    (((size_size_com @ skip) = zero_zero_nat))). % com.size(9)
thf(fact_112_com_Osize__gen_I7_J, axiom,
    ((![X7 : pname]: ((size_com @ (body2 @ X7)) = zero_zero_nat)))). % com.size_gen(7)
thf(fact_113_com_Osize__gen_I4_J, axiom,
    ((![X41 : com, X42 : com]: ((size_com @ (semi @ X41 @ X42)) = (plus_plus_nat @ (plus_plus_nat @ (size_com @ X41) @ (size_com @ X42)) @ (suc @ zero_zero_nat)))))). % com.size_gen(4)
thf(fact_114_WT_OBody, axiom,
    ((![Pn : pname]: ((~ (((body @ Pn) = none_com))) => (wt @ (body2 @ Pn)))))). % WT.Body
thf(fact_115_add__right__cancel, axiom,
    ((![B2 : nat, A : nat, C : nat]: (((plus_plus_nat @ B2 @ A) = (plus_plus_nat @ C @ A)) = (B2 = C))))). % add_right_cancel
thf(fact_116_add__left__cancel, axiom,
    ((![A : nat, B2 : nat, C : nat]: (((plus_plus_nat @ A @ B2) = (plus_plus_nat @ A @ C)) = (B2 = C))))). % add_left_cancel
thf(fact_117_add_Oleft__neutral, axiom,
    ((![A : nat]: ((plus_plus_nat @ zero_zero_nat @ A) = A)))). % add.left_neutral
thf(fact_118_add_Oright__neutral, axiom,
    ((![A : nat]: ((plus_plus_nat @ A @ zero_zero_nat) = A)))). % add.right_neutral
thf(fact_119_add__cancel__left__left, axiom,
    ((![B2 : nat, A : nat]: (((plus_plus_nat @ B2 @ A) = A) = (B2 = zero_zero_nat))))). % add_cancel_left_left
thf(fact_120_add__cancel__left__right, axiom,
    ((![A : nat, B2 : nat]: (((plus_plus_nat @ A @ B2) = A) = (B2 = zero_zero_nat))))). % add_cancel_left_right
thf(fact_121_add__cancel__right__left, axiom,
    ((![A : nat, B2 : nat]: ((A = (plus_plus_nat @ B2 @ A)) = (B2 = zero_zero_nat))))). % add_cancel_right_left
thf(fact_122_add__cancel__right__right, axiom,
    ((![A : nat, B2 : nat]: ((A = (plus_plus_nat @ A @ B2)) = (B2 = zero_zero_nat))))). % add_cancel_right_right
thf(fact_123_add__eq__0__iff__both__eq__0, axiom,
    ((![X : nat, Y : nat]: (((plus_plus_nat @ X @ Y) = zero_zero_nat) = (((X = zero_zero_nat)) & ((Y = zero_zero_nat))))))). % add_eq_0_iff_both_eq_0
thf(fact_124_zero__eq__add__iff__both__eq__0, axiom,
    ((![X : nat, Y : nat]: ((zero_zero_nat = (plus_plus_nat @ X @ Y)) = (((X = zero_zero_nat)) & ((Y = zero_zero_nat))))))). % zero_eq_add_iff_both_eq_0
thf(fact_125_add__Suc__right, axiom,
    ((![M : nat, N : nat]: ((plus_plus_nat @ M @ (suc @ N)) = (suc @ (plus_plus_nat @ M @ N)))))). % add_Suc_right
thf(fact_126_add__is__0, axiom,
    ((![M : nat, N : nat]: (((plus_plus_nat @ M @ N) = zero_zero_nat) = (((M = zero_zero_nat)) & ((N = zero_zero_nat))))))). % add_is_0
thf(fact_127_Nat_Oadd__0__right, axiom,
    ((![M : nat]: ((plus_plus_nat @ M @ zero_zero_nat) = M)))). % Nat.add_0_right
thf(fact_128_add__Suc__shift, axiom,
    ((![M : nat, N : nat]: ((plus_plus_nat @ (suc @ M) @ N) = (plus_plus_nat @ M @ (suc @ N)))))). % add_Suc_shift
thf(fact_129_nat__arith_Osuc1, axiom,
    ((![A2 : nat, K : nat, A : nat]: ((A2 = (plus_plus_nat @ K @ A)) => ((suc @ A2) = (plus_plus_nat @ K @ (suc @ A))))))). % nat_arith.suc1
thf(fact_130_add__Suc, axiom,
    ((![M : nat, N : nat]: ((plus_plus_nat @ (suc @ M) @ N) = (suc @ (plus_plus_nat @ M @ N)))))). % add_Suc
thf(fact_131_add__is__1, axiom,
    ((![M : nat, N : nat]: (((plus_plus_nat @ M @ N) = (suc @ zero_zero_nat)) = (((((M = (suc @ zero_zero_nat))) & ((N = zero_zero_nat)))) | ((((M = zero_zero_nat)) & ((N = (suc @ zero_zero_nat)))))))))). % add_is_1
thf(fact_132_one__is__add, axiom,
    ((![M : nat, N : nat]: (((suc @ zero_zero_nat) = (plus_plus_nat @ M @ N)) = (((((M = (suc @ zero_zero_nat))) & ((N = zero_zero_nat)))) | ((((M = zero_zero_nat)) & ((N = (suc @ zero_zero_nat)))))))))). % one_is_add
thf(fact_133_add__right__imp__eq, axiom,
    ((![B2 : nat, A : nat, C : nat]: (((plus_plus_nat @ B2 @ A) = (plus_plus_nat @ C @ A)) => (B2 = C))))). % add_right_imp_eq
thf(fact_134_add__left__imp__eq, axiom,
    ((![A : nat, B2 : nat, C : nat]: (((plus_plus_nat @ A @ B2) = (plus_plus_nat @ A @ C)) => (B2 = C))))). % add_left_imp_eq

% Conjectures (2)
thf(conj_0, hypothesis,
    ((hoare_604442164_state @ (insert776267541_state @ (hoare_Mirabelle_MGT @ (body2 @ pn)) @ g) @ (insert776267541_state @ (hoare_Mirabelle_MGT @ (the_com @ (body @ pn))) @ bot_bo105666705_state)))).
thf(conj_1, conjecture,
    ((hoare_604442164_state @ g @ (insert776267541_state @ (hoare_Mirabelle_MGT @ (body2 @ pn)) @ bot_bo105666705_state)))).
