% 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_307__3252950_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:13:37.548

% Could-be-implicit typings (6)
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__Com__Ovname, type,
    vname : $tType).
thf(ty_n_t__Com__Ostate, type,
    state : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).
thf(ty_n_t__Com__Ocom, type,
    com : $tType).

% Explicit typings (27)
thf(sy_c_Com_Ocom_OAss, type,
    ass : vname > (state > nat) > com).
thf(sy_c_Com_Ocom_OCond, type,
    cond : (state > $o) > com > com > 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_OWhile, type,
    while : (state > $o) > com > com).
thf(sy_c_Fun_Ocomp_001_Eo_001_Eo_001t__Com__Ostate, type,
    comp_o_o_state : ($o > $o) > (state > $o) > state > $o).
thf(sy_c_Groups_Ominus__class_Ominus_001t__Set__Oset_It__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J_J, type,
    minus_1628593292_state : set_Ho840737317_state > set_Ho840737317_state > set_Ho840737317_state).
thf(sy_c_HOL_OThe_001t__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J, type,
    the_Ho1908033100_state : (hoare_958474565_state > $o) > hoare_958474565_state).
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_Opeek__and_001t__Com__Ostate, type,
    hoare_1541087502_state : (state > state > $o) > (state > $o) > state > state > $o).
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_Natural_Oevalc, type,
    evalc : com > state > state > $o).
thf(sy_c_Natural_Oevaln, type,
    evaln : com > state > nat > state > $o).
thf(sy_c_Natural_Oupdate, type,
    update : state > vname > nat > state).
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__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_Opairwise_001t__Hoare____Mirabelle____raqjowkjvm__Otriple_It__Com__Ostate_J, type,
    pairwi17519280_state : (hoare_958474565_state > hoare_958474565_state > $o) > 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__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_c, type,
    c : com).

% Relevant facts (109)
thf(fact_0_triple_Oinject, axiom,
    ((![X1 : state > state > $o, X2 : com, X3 : state > state > $o, Y1 : state > state > $o, Y2 : com, Y3 : state > state > $o]: (((hoare_1659279548_state @ X1 @ X2 @ X3) = (hoare_1659279548_state @ Y1 @ Y2 @ Y3)) = (((X1 = Y1)) & ((((X2 = Y2)) & ((X3 = Y3))))))))). % triple.inject
thf(fact_1_escape, axiom,
    ((![P : state > state > $o, G : set_Ho840737317_state, C : com, Q : state > state > $o]: ((![Z : state, S : state]: ((P @ Z @ S) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ (^[Za : state]: (^[S2 : state]: (S2 = S))) @ C @ (^[Z2 : state]: (Q @ Z))) @ bot_bo105666705_state)))) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state)))))). % escape
thf(fact_2_MGT__def, axiom,
    ((hoare_Mirabelle_MGT = (^[C2 : com]: (hoare_1659279548_state @ (^[Y : state]: (^[Z3 : state]: (Y = Z3))) @ C2 @ (evalc @ C2)))))). % MGT_def
thf(fact_3_conseq1, axiom,
    ((![G : set_Ho840737317_state, P2 : state > state > $o, C : com, Q : state > state > $o, P : state > state > $o]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P2 @ C @ Q) @ bot_bo105666705_state)) => ((![Z : state, S : state]: ((P @ Z @ S) => (P2 @ Z @ S))) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state))))))). % conseq1
thf(fact_4_conseq2, axiom,
    ((![G : set_Ho840737317_state, P : state > state > $o, C : com, Q2 : state > state > $o, Q : state > state > $o]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q2) @ bot_bo105666705_state)) => ((![Z : state, S : state]: ((Q2 @ Z @ S) => (Q @ Z @ S))) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state))))))). % conseq2
thf(fact_5_conseq12, axiom,
    ((![G : set_Ho840737317_state, P2 : state > state > $o, C : com, Q2 : state > state > $o, P : state > state > $o, Q : state > state > $o]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P2 @ C @ Q2) @ bot_bo105666705_state)) => ((![Z : state, S : state]: ((P @ Z @ S) => (![S3 : state]: ((![Z4 : state]: ((P2 @ Z4 @ S) => (Q2 @ Z4 @ S3))) => (Q @ Z @ S3))))) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state))))))). % conseq12
thf(fact_6__Cconstant_C, axiom,
    ((![C3 : $o, G : set_Ho840737317_state, P : state > state > $o, C : com, Q : state > state > $o]: ((C3 => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state))) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ (^[Z5 : state]: (^[S4 : state]: (((P @ Z5 @ S4)) & (C3)))) @ C @ Q) @ bot_bo105666705_state)))))). % "constant"
thf(fact_7_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_8_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_9_triple_Oexhaust, axiom,
    ((![Y4 : hoare_958474565_state]: (~ ((![X12 : state > state > $o, X22 : com, X32 : state > state > $o]: (~ ((Y4 = (hoare_1659279548_state @ X12 @ X22 @ X32)))))))))). % triple.exhaust
thf(fact_10_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_11_empty, axiom,
    ((![G : set_Ho840737317_state]: (hoare_604442164_state @ G @ bot_bo105666705_state)))). % empty
thf(fact_12_conseq, axiom,
    ((![P : state > state > $o, G : set_Ho840737317_state, C : com, Q : state > state > $o]: ((![Z : state, S : state]: ((P @ Z @ S) => (?[P3 : state > state > $o, Q3 : state > state > $o]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P3 @ C @ Q3) @ bot_bo105666705_state)) & (![S3 : state]: ((![Z4 : state]: ((P3 @ Z4 @ S) => (Q3 @ Z4 @ S3))) => (Q @ Z @ S3))))))) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ C @ Q) @ bot_bo105666705_state)))))). % conseq
thf(fact_13_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_14_singleton__conv, axiom,
    ((![A : hoare_958474565_state]: ((collec305460656_state @ (^[X : hoare_958474565_state]: (X = A))) = (insert776267541_state @ A @ bot_bo105666705_state))))). % singleton_conv
thf(fact_15_singleton__conv2, axiom,
    ((![A : hoare_958474565_state]: ((collec305460656_state @ ((^[Y : hoare_958474565_state]: (^[Z3 : hoare_958474565_state]: (Y = Z3))) @ A)) = (insert776267541_state @ A @ bot_bo105666705_state))))). % singleton_conv2
thf(fact_16_singletonI, axiom,
    ((![A : hoare_958474565_state]: (member109514606_state @ A @ (insert776267541_state @ A @ bot_bo105666705_state))))). % singletonI
thf(fact_17_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_18_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_19_insert__absorb2, axiom,
    ((![X4 : hoare_958474565_state, A2 : set_Ho840737317_state]: ((insert776267541_state @ X4 @ (insert776267541_state @ X4 @ A2)) = (insert776267541_state @ X4 @ A2))))). % insert_absorb2
thf(fact_20_empty__iff, axiom,
    ((![C : hoare_958474565_state]: (~ ((member109514606_state @ C @ bot_bo105666705_state)))))). % empty_iff
thf(fact_21_all__not__in__conv, axiom,
    ((![A2 : set_Ho840737317_state]: ((![X : hoare_958474565_state]: (~ ((member109514606_state @ X @ A2)))) = (A2 = bot_bo105666705_state))))). % all_not_in_conv
thf(fact_22_Collect__empty__eq, axiom,
    ((![P : hoare_958474565_state > $o]: (((collec305460656_state @ P) = bot_bo105666705_state) = (![X : hoare_958474565_state]: (~ ((P @ X)))))))). % Collect_empty_eq
thf(fact_23_empty__Collect__eq, axiom,
    ((![P : hoare_958474565_state > $o]: ((bot_bo105666705_state = (collec305460656_state @ P)) = (![X : hoare_958474565_state]: (~ ((P @ X)))))))). % empty_Collect_eq
thf(fact_24_Collect__conv__if, axiom,
    ((![P : hoare_958474565_state > $o, A : hoare_958474565_state]: (((P @ A) => ((collec305460656_state @ (^[X : hoare_958474565_state]: (((X = A)) & ((P @ X))))) = (insert776267541_state @ A @ bot_bo105666705_state))) & ((~ ((P @ A))) => ((collec305460656_state @ (^[X : hoare_958474565_state]: (((X = A)) & ((P @ X))))) = bot_bo105666705_state)))))). % Collect_conv_if
thf(fact_25_bot__set__def, axiom,
    ((bot_bo105666705_state = (collec305460656_state @ bot_bo1428770700tate_o)))). % bot_set_def
thf(fact_26_ex__in__conv, axiom,
    ((![A2 : set_Ho840737317_state]: ((?[X : hoare_958474565_state]: (member109514606_state @ X @ A2)) = (~ ((A2 = bot_bo105666705_state))))))). % ex_in_conv
thf(fact_27_equals0I, axiom,
    ((![A2 : set_Ho840737317_state]: ((![Y5 : hoare_958474565_state]: (~ ((member109514606_state @ Y5 @ A2)))) => (A2 = bot_bo105666705_state))))). % equals0I
thf(fact_28_equals0D, axiom,
    ((![A2 : set_Ho840737317_state, A : hoare_958474565_state]: ((A2 = bot_bo105666705_state) => (~ ((member109514606_state @ A @ A2))))))). % equals0D
thf(fact_29_emptyE, axiom,
    ((![A : hoare_958474565_state]: (~ ((member109514606_state @ A @ bot_bo105666705_state)))))). % emptyE
thf(fact_30_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_31_insert__commute, axiom,
    ((![X4 : hoare_958474565_state, Y4 : hoare_958474565_state, A2 : set_Ho840737317_state]: ((insert776267541_state @ X4 @ (insert776267541_state @ Y4 @ A2)) = (insert776267541_state @ Y4 @ (insert776267541_state @ X4 @ A2)))))). % insert_commute
thf(fact_32_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)))) => ((?[C4 : set_Ho840737317_state]: (((A2 = (insert776267541_state @ B2 @ C4))) & ((((~ ((member109514606_state @ B2 @ C4)))) & ((((B = (insert776267541_state @ A @ C4))) & ((~ ((member109514606_state @ A @ C4)))))))))))))))))))). % insert_eq_iff
thf(fact_33_insert__absorb, axiom,
    ((![A : hoare_958474565_state, A2 : set_Ho840737317_state]: ((member109514606_state @ A @ A2) => ((insert776267541_state @ A @ A2) = A2))))). % insert_absorb
thf(fact_34_insert__ident, axiom,
    ((![X4 : hoare_958474565_state, A2 : set_Ho840737317_state, B : set_Ho840737317_state]: ((~ ((member109514606_state @ X4 @ A2))) => ((~ ((member109514606_state @ X4 @ B))) => (((insert776267541_state @ X4 @ A2) = (insert776267541_state @ X4 @ B)) = (A2 = B))))))). % insert_ident
thf(fact_35_Set_Oset__insert, axiom,
    ((![X4 : hoare_958474565_state, A2 : set_Ho840737317_state]: ((member109514606_state @ X4 @ A2) => (~ ((![B3 : set_Ho840737317_state]: ((A2 = (insert776267541_state @ X4 @ B3)) => (member109514606_state @ X4 @ B3))))))))). % Set.set_insert
thf(fact_36_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_37_insertI1, axiom,
    ((![A : hoare_958474565_state, B : set_Ho840737317_state]: (member109514606_state @ A @ (insert776267541_state @ A @ B))))). % insertI1
thf(fact_38_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_39_empty__def, axiom,
    ((bot_bo105666705_state = (collec305460656_state @ (^[X : hoare_958474565_state]: $false))))). % empty_def
thf(fact_40_insert__Collect, axiom,
    ((![A : hoare_958474565_state, P : hoare_958474565_state > $o]: ((insert776267541_state @ A @ (collec305460656_state @ P)) = (collec305460656_state @ (^[U : hoare_958474565_state]: (((~ ((U = A)))) => ((P @ U))))))))). % insert_Collect
thf(fact_41_insert__compr, axiom,
    ((insert776267541_state = (^[A3 : hoare_958474565_state]: (^[B4 : set_Ho840737317_state]: (collec305460656_state @ (^[X : hoare_958474565_state]: (((X = A3)) | ((member109514606_state @ X @ B4)))))))))). % insert_compr
thf(fact_42_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_43_insert__not__empty, axiom,
    ((![A : hoare_958474565_state, A2 : set_Ho840737317_state]: (~ (((insert776267541_state @ A @ A2) = bot_bo105666705_state)))))). % insert_not_empty
thf(fact_44_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_45_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_46_singletonD, axiom,
    ((![B2 : hoare_958474565_state, A : hoare_958474565_state]: ((member109514606_state @ B2 @ (insert776267541_state @ A @ bot_bo105666705_state)) => (B2 = A))))). % singletonD
thf(fact_47_Collect__conv__if2, axiom,
    ((![P : hoare_958474565_state > $o, A : hoare_958474565_state]: (((P @ A) => ((collec305460656_state @ (^[X : hoare_958474565_state]: (((A = X)) & ((P @ X))))) = (insert776267541_state @ A @ bot_bo105666705_state))) & ((~ ((P @ A))) => ((collec305460656_state @ (^[X : hoare_958474565_state]: (((A = X)) & ((P @ X))))) = bot_bo105666705_state)))))). % Collect_conv_if2
thf(fact_48_the__elem__eq, axiom,
    ((![X4 : hoare_958474565_state]: ((the_el1300254266_state @ (insert776267541_state @ X4 @ bot_bo105666705_state)) = X4)))). % the_elem_eq
thf(fact_49_is__singletonI, axiom,
    ((![X4 : hoare_958474565_state]: (is_sin536631353_state @ (insert776267541_state @ X4 @ bot_bo105666705_state))))). % is_singletonI
thf(fact_50_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_51_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_52_LoopF, axiom,
    ((![G : set_Ho840737317_state, P : state > state > $o, B2 : state > $o, C : com]: (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ (^[Z5 : state]: (^[S4 : state]: (((P @ Z5 @ S4)) & ((~ ((B2 @ S4))))))) @ (while @ B2 @ C) @ P) @ bot_bo105666705_state))))). % LoopF
thf(fact_53_Set_Ois__empty__def, axiom,
    ((is_emp266830871_state = (^[A4 : set_Ho840737317_state]: (A4 = bot_bo105666705_state))))). % Set.is_empty_def
thf(fact_54_is__singleton__def, axiom,
    ((is_sin536631353_state = (^[A4 : set_Ho840737317_state]: (?[X : hoare_958474565_state]: (A4 = (insert776267541_state @ X @ bot_bo105666705_state))))))). % is_singleton_def
thf(fact_55_is__singletonE, axiom,
    ((![A2 : set_Ho840737317_state]: ((is_sin536631353_state @ A2) => (~ ((![X5 : hoare_958474565_state]: (~ ((A2 = (insert776267541_state @ X5 @ bot_bo105666705_state))))))))))). % is_singletonE
thf(fact_56_is__singleton__the__elem, axiom,
    ((is_sin536631353_state = (^[A4 : set_Ho840737317_state]: (A4 = (insert776267541_state @ (the_el1300254266_state @ A4) @ bot_bo105666705_state)))))). % is_singleton_the_elem
thf(fact_57_is__singletonI_H, axiom,
    ((![A2 : set_Ho840737317_state]: ((~ ((A2 = bot_bo105666705_state))) => ((![X5 : hoare_958474565_state, Y5 : hoare_958474565_state]: ((member109514606_state @ X5 @ A2) => ((member109514606_state @ Y5 @ A2) => (X5 = Y5)))) => (is_sin536631353_state @ A2)))))). % is_singletonI'
thf(fact_58_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_59_com_Oinject_I5_J, axiom,
    ((![X61 : state > $o, X62 : com, Y61 : state > $o, Y62 : com]: (((while @ X61 @ X62) = (while @ Y61 @ Y62)) = (((X61 = Y61)) & ((X62 = Y62))))))). % com.inject(5)
thf(fact_60_com_Odistinct_I5_J, axiom,
    ((![X41 : com, X42 : com]: (~ ((skip = (semi @ X41 @ X42))))))). % com.distinct(5)
thf(fact_61_com_Odistinct_I9_J, axiom,
    ((![X61 : state > $o, X62 : com]: (~ ((skip = (while @ X61 @ X62))))))). % com.distinct(9)
thf(fact_62_com_Odistinct_I39_J, axiom,
    ((![X41 : com, X42 : com, X61 : state > $o, X62 : com]: (~ (((semi @ X41 @ X42) = (while @ X61 @ X62))))))). % com.distinct(39)
thf(fact_63_evalc_OSkip, axiom,
    ((![S5 : state]: (evalc @ skip @ S5 @ S5)))). % evalc.Skip
thf(fact_64_evalc__elim__cases_I1_J, axiom,
    ((![S5 : state, T : state]: ((evalc @ skip @ S5 @ T) => (T = S5))))). % evalc_elim_cases(1)
thf(fact_65_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_66_evalc__elim__cases_I4_J, axiom,
    ((![C1 : com, C22 : com, S5 : state, T : state]: ((evalc @ (semi @ C1 @ C22) @ S5 @ T) => (~ ((![S12 : state]: ((evalc @ C1 @ S5 @ S12) => (~ ((evalc @ C22 @ S12 @ T))))))))))). % evalc_elim_cases(4)
thf(fact_67_com__det, axiom,
    ((![C : com, S5 : state, T : state, U2 : state]: ((evalc @ C @ S5 @ T) => ((evalc @ C @ S5 @ U2) => (U2 = T)))))). % com_det
thf(fact_68_evalc_OWhileTrue, axiom,
    ((![B2 : state > $o, S0 : state, C : com, S1 : state, S22 : state]: ((B2 @ S0) => ((evalc @ C @ S0 @ S1) => ((evalc @ (while @ B2 @ C) @ S1 @ S22) => (evalc @ (while @ B2 @ C) @ S0 @ S22))))))). % evalc.WhileTrue
thf(fact_69_evalc_OWhileFalse, axiom,
    ((![B2 : state > $o, S5 : state, C : com]: ((~ ((B2 @ S5))) => (evalc @ (while @ B2 @ C) @ S5 @ S5))))). % evalc.WhileFalse
thf(fact_70_evalc__WHILE__case, axiom,
    ((![B2 : state > $o, C : com, S5 : state, T : state]: ((evalc @ (while @ B2 @ C) @ S5 @ T) => (((T = S5) => (B2 @ S5)) => (~ (((B2 @ S5) => (![S12 : state]: ((evalc @ C @ S5 @ S12) => (~ ((evalc @ (while @ B2 @ C) @ S12 @ T))))))))))))). % evalc_WHILE_case
thf(fact_71_bot__empty__eq, axiom,
    ((bot_bo1428770700tate_o = (^[X : hoare_958474565_state]: (member109514606_state @ X @ bot_bo105666705_state))))). % bot_empty_eq
thf(fact_72_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_73_the__elem__def, axiom,
    ((the_el1300254266_state = (^[X6 : set_Ho840737317_state]: (the_Ho1908033100_state @ (^[X : hoare_958474565_state]: (X6 = (insert776267541_state @ X @ bot_bo105666705_state)))))))). % the_elem_def
thf(fact_74_Loop, axiom,
    ((![G : set_Ho840737317_state, P : state > state > $o, B2 : state > $o, C : com]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ (hoare_1541087502_state @ P @ B2) @ C @ P) @ bot_bo105666705_state)) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ (while @ B2 @ C) @ (hoare_1541087502_state @ P @ (comp_o_o_state @ (~) @ B2))) @ bot_bo105666705_state)))))). % Loop
thf(fact_75_Loop__sound__lemma, axiom,
    ((![G : set_Ho840737317_state, P : state > state > $o, B2 : state > $o, C : com]: ((hoare_318887606_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ (hoare_1541087502_state @ P @ B2) @ C @ P) @ bot_bo105666705_state)) => (hoare_318887606_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ (while @ B2 @ C) @ (hoare_1541087502_state @ P @ (comp_o_o_state @ (~) @ B2))) @ bot_bo105666705_state)))))). % Loop_sound_lemma
thf(fact_76_hoare__derivs_OIf, axiom,
    ((![G : set_Ho840737317_state, P : state > state > $o, B2 : state > $o, C : com, Q : state > state > $o, D : com]: ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ (hoare_1541087502_state @ P @ B2) @ C @ Q) @ bot_bo105666705_state)) => ((hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ (hoare_1541087502_state @ P @ (comp_o_o_state @ (~) @ B2)) @ D @ Q) @ bot_bo105666705_state)) => (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ P @ (cond @ B2 @ C @ D) @ Q) @ bot_bo105666705_state))))))). % hoare_derivs.If
thf(fact_77_com_Oinject_I4_J, axiom,
    ((![X51 : state > $o, X52 : com, X53 : com, Y51 : state > $o, Y52 : com, Y53 : com]: (((cond @ X51 @ X52 @ X53) = (cond @ Y51 @ Y52 @ Y53)) = (((X51 = Y51)) & ((((X52 = Y52)) & ((X53 = Y53))))))))). % com.inject(4)
thf(fact_78_evalc__elim__cases_I5_J, axiom,
    ((![B2 : state > $o, C1 : com, C22 : com, S5 : state, T : state]: ((evalc @ (cond @ B2 @ C1 @ C22) @ S5 @ T) => (((B2 @ S5) => (~ ((evalc @ C1 @ S5 @ T)))) => (~ (((~ ((B2 @ S5))) => (~ ((evalc @ C22 @ S5 @ T))))))))))). % evalc_elim_cases(5)
thf(fact_79_evalc_OIfTrue, axiom,
    ((![B2 : state > $o, S5 : state, C0 : com, S1 : state, C1 : com]: ((B2 @ S5) => ((evalc @ C0 @ S5 @ S1) => (evalc @ (cond @ B2 @ C0 @ C1) @ S5 @ S1)))))). % evalc.IfTrue
thf(fact_80_evalc_OIfFalse, axiom,
    ((![B2 : state > $o, S5 : state, C1 : com, S1 : state, C0 : com]: ((~ ((B2 @ S5))) => ((evalc @ C1 @ S5 @ S1) => (evalc @ (cond @ B2 @ C0 @ C1) @ S5 @ S1)))))). % evalc.IfFalse
thf(fact_81_com_Odistinct_I45_J, axiom,
    ((![X51 : state > $o, X52 : com, X53 : com, X61 : state > $o, X62 : com]: (~ (((cond @ X51 @ X52 @ X53) = (while @ X61 @ X62))))))). % com.distinct(45)
thf(fact_82_com_Odistinct_I37_J, axiom,
    ((![X41 : com, X42 : com, X51 : state > $o, X52 : com, X53 : com]: (~ (((semi @ X41 @ X42) = (cond @ X51 @ X52 @ X53))))))). % com.distinct(37)
thf(fact_83_com_Odistinct_I7_J, axiom,
    ((![X51 : state > $o, X52 : com, X53 : com]: (~ ((skip = (cond @ X51 @ X52 @ X53))))))). % com.distinct(7)
thf(fact_84_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_85_Ass, axiom,
    ((![G : set_Ho840737317_state, P : state > state > $o, X7 : vname, A : state > nat]: (hoare_604442164_state @ G @ (insert776267541_state @ (hoare_1659279548_state @ (^[Z5 : state]: (^[S4 : state]: (P @ Z5 @ (update @ S4 @ X7 @ (A @ S4))))) @ (ass @ X7 @ A) @ P) @ bot_bo105666705_state))))). % Ass
thf(fact_86_com_Oinject_I1_J, axiom,
    ((![X21 : vname, X222 : state > nat, Y21 : vname, Y22 : state > nat]: (((ass @ X21 @ X222) = (ass @ Y21 @ Y22)) = (((X21 = Y21)) & ((X222 = Y22))))))). % com.inject(1)
thf(fact_87_com_Odistinct_I19_J, axiom,
    ((![X21 : vname, X222 : state > nat, X51 : state > $o, X52 : com, X53 : com]: (~ (((ass @ X21 @ X222) = (cond @ X51 @ X52 @ X53))))))). % com.distinct(19)
thf(fact_88_evalc_OAssign, axiom,
    ((![X7 : vname, A : state > nat, S5 : state]: (evalc @ (ass @ X7 @ A) @ S5 @ (update @ S5 @ X7 @ (A @ S5)))))). % evalc.Assign
thf(fact_89_evalc__elim__cases_I2_J, axiom,
    ((![X7 : vname, A : state > nat, S5 : state, T : state]: ((evalc @ (ass @ X7 @ A) @ S5 @ T) => (T = (update @ S5 @ X7 @ (A @ S5))))))). % evalc_elim_cases(2)
thf(fact_90_com_Odistinct_I1_J, axiom,
    ((![X21 : vname, X222 : state > nat]: (~ ((skip = (ass @ X21 @ X222))))))). % com.distinct(1)
thf(fact_91_com_Odistinct_I17_J, axiom,
    ((![X21 : vname, X222 : state > nat, X41 : com, X42 : com]: (~ (((ass @ X21 @ X222) = (semi @ X41 @ X42))))))). % com.distinct(17)
thf(fact_92_com_Odistinct_I21_J, axiom,
    ((![X21 : vname, X222 : state > nat, X61 : state > $o, X62 : com]: (~ (((ass @ X21 @ X222) = (while @ X61 @ X62))))))). % com.distinct(21)
thf(fact_93_pairwise__singleton, axiom,
    ((![P : hoare_958474565_state > hoare_958474565_state > $o, A2 : hoare_958474565_state]: (pairwi17519280_state @ P @ (insert776267541_state @ A2 @ bot_bo105666705_state))))). % pairwise_singleton
thf(fact_94_pairwise__empty, axiom,
    ((![P : hoare_958474565_state > hoare_958474565_state > $o]: (pairwi17519280_state @ P @ bot_bo105666705_state)))). % pairwise_empty
thf(fact_95_pairwise__insert, axiom,
    ((![R2 : hoare_958474565_state > hoare_958474565_state > $o, X4 : hoare_958474565_state, S5 : set_Ho840737317_state]: ((pairwi17519280_state @ R2 @ (insert776267541_state @ X4 @ S5)) = (((![Y6 : hoare_958474565_state]: (((((member109514606_state @ Y6 @ S5)) & ((~ ((Y6 = X4)))))) => ((((R2 @ X4 @ Y6)) & ((R2 @ Y6 @ X4))))))) & ((pairwi17519280_state @ R2 @ S5))))))). % pairwise_insert
thf(fact_96_pairwise__alt, axiom,
    ((pairwi17519280_state = (^[R3 : hoare_958474565_state > hoare_958474565_state > $o]: (^[S6 : set_Ho840737317_state]: (![X : hoare_958474565_state]: (((member109514606_state @ X @ S6)) => ((![Y6 : hoare_958474565_state]: (((member109514606_state @ Y6 @ (minus_1628593292_state @ S6 @ (insert776267541_state @ X @ bot_bo105666705_state)))) => ((R3 @ X @ Y6)))))))))))). % pairwise_alt
thf(fact_97_evaln_OAssign, axiom,
    ((![X7 : vname, A : state > nat, S5 : state, N : nat]: (evaln @ (ass @ X7 @ A) @ S5 @ N @ (update @ S5 @ X7 @ (A @ S5)))))). % evaln.Assign
thf(fact_98_Diff__cancel, axiom,
    ((![A2 : set_Ho840737317_state]: ((minus_1628593292_state @ A2 @ A2) = bot_bo105666705_state)))). % Diff_cancel
thf(fact_99_empty__Diff, axiom,
    ((![A2 : set_Ho840737317_state]: ((minus_1628593292_state @ bot_bo105666705_state @ A2) = bot_bo105666705_state)))). % empty_Diff
thf(fact_100_Diff__empty, axiom,
    ((![A2 : set_Ho840737317_state]: ((minus_1628593292_state @ A2 @ bot_bo105666705_state) = A2)))). % Diff_empty
thf(fact_101_insert__Diff1, axiom,
    ((![X4 : hoare_958474565_state, B : set_Ho840737317_state, A2 : set_Ho840737317_state]: ((member109514606_state @ X4 @ B) => ((minus_1628593292_state @ (insert776267541_state @ X4 @ A2) @ B) = (minus_1628593292_state @ A2 @ B)))))). % insert_Diff1
thf(fact_102_Diff__insert0, axiom,
    ((![X4 : hoare_958474565_state, A2 : set_Ho840737317_state, B : set_Ho840737317_state]: ((~ ((member109514606_state @ X4 @ A2))) => ((minus_1628593292_state @ A2 @ (insert776267541_state @ X4 @ B)) = (minus_1628593292_state @ A2 @ B)))))). % Diff_insert0
thf(fact_103_insert__Diff__single, axiom,
    ((![A : hoare_958474565_state, A2 : set_Ho840737317_state]: ((insert776267541_state @ A @ (minus_1628593292_state @ A2 @ (insert776267541_state @ A @ bot_bo105666705_state))) = (insert776267541_state @ A @ A2))))). % insert_Diff_single
thf(fact_104_Diff__insert__absorb, axiom,
    ((![X4 : hoare_958474565_state, A2 : set_Ho840737317_state]: ((~ ((member109514606_state @ X4 @ A2))) => ((minus_1628593292_state @ (insert776267541_state @ X4 @ A2) @ (insert776267541_state @ X4 @ bot_bo105666705_state)) = A2))))). % Diff_insert_absorb
thf(fact_105_Diff__insert2, axiom,
    ((![A2 : set_Ho840737317_state, A : hoare_958474565_state, B : set_Ho840737317_state]: ((minus_1628593292_state @ A2 @ (insert776267541_state @ A @ B)) = (minus_1628593292_state @ (minus_1628593292_state @ A2 @ (insert776267541_state @ A @ bot_bo105666705_state)) @ B))))). % Diff_insert2
thf(fact_106_insert__Diff, axiom,
    ((![A : hoare_958474565_state, A2 : set_Ho840737317_state]: ((member109514606_state @ A @ A2) => ((insert776267541_state @ A @ (minus_1628593292_state @ A2 @ (insert776267541_state @ A @ bot_bo105666705_state))) = A2))))). % insert_Diff
thf(fact_107_Diff__insert, axiom,
    ((![A2 : set_Ho840737317_state, A : hoare_958474565_state, B : set_Ho840737317_state]: ((minus_1628593292_state @ A2 @ (insert776267541_state @ A @ B)) = (minus_1628593292_state @ (minus_1628593292_state @ A2 @ B) @ (insert776267541_state @ A @ bot_bo105666705_state)))))). % Diff_insert
thf(fact_108_eval__eq, axiom,
    ((evalc = (^[C2 : com]: (^[S4 : state]: (^[T2 : state]: (?[N2 : nat]: (evaln @ C2 @ S4 @ N2 @ T2)))))))). % eval_eq

% Conjectures (2)
thf(conj_0, hypothesis,
    ((hoare_604442164_state @ g @ (insert776267541_state @ (hoare_Mirabelle_MGT @ c) @ bot_bo105666705_state)))).
thf(conj_1, conjecture,
    ((hoare_604442164_state @ g @ (insert776267541_state @ (hoare_1659279548_state @ (^[Z5 : state]: (^[S02 : state]: (![S13 : state]: (((evalc @ c @ S02 @ S13)) => ((Z5 = S13)))))) @ c @ (^[Y : state]: (^[Z3 : state]: (Y = Z3)))) @ bot_bo105666705_state)))).
