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

% Could-be-implicit typings (7)
thf(ty_n_t__Com__Ovname, type,
    vname : $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__Int__Oint, type,
    int : $tType).
thf(ty_n_t__Com__Ocom, type,
    com : $tType).
thf(ty_n_tf__a, type,
    a : $tType).

% Explicit typings (29)
thf(sy_c_Com_Ocom_OAss, type,
    ass : vname > (state > nat) > com).
thf(sy_c_Com_Ocom_OBODY, type,
    body : pname > com).
thf(sy_c_Com_Ocom_OCall, type,
    call : vname > pname > (state > nat) > com).
thf(sy_c_Com_Ocom_OSKIP, type,
    skip : com).
thf(sy_c_Com_Ocom_Osize__com, type,
    size_com : com > nat).
thf(sy_c_Euclidean__Division_Oeuclidean__semiring__class_Oeuclidean__size_001t__Int__Oint, type,
    euclid1863447361ze_int : int > nat).
thf(sy_c_Euclidean__Division_Oeuclidean__semiring__class_Oeuclidean__size_001t__Nat__Onat, type,
    euclid1226173669ze_nat : nat > nat).
thf(sy_c_Groups_Oone__class_Oone_001t__Int__Oint, type,
    one_one_int : int).
thf(sy_c_Groups_Oone__class_Oone_001t__Nat__Onat, type,
    one_one_nat : nat).
thf(sy_c_Groups_Osgn__class_Osgn_001t__Int__Oint, type,
    sgn_sgn_int : int > int).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Int__Oint, type,
    zero_zero_int : int).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat, type,
    zero_zero_nat : nat).
thf(sy_c_If_001t__Int__Oint, type,
    if_int : $o > int > int > int).
thf(sy_c_If_001t__Nat__Onat, type,
    if_nat : $o > nat > nat > nat).
thf(sy_c_Nat_OSuc, type,
    suc : nat > nat).
thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Int__Oint, type,
    semiri2019852685at_int : nat > int).
thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Nat__Onat, type,
    semiri1382578993at_nat : nat > nat).
thf(sy_c_Nat_Osize__class_Osize_001t__Com__Ocom, type,
    size_size_com : com > nat).
thf(sy_c_Natural_Oevaln, type,
    evaln : com > state > nat > state > $o).
thf(sy_c_Num_Oneg__numeral__class_Odbl__inc_001t__Int__Oint, type,
    neg_nu1877376189nc_int : int > int).
thf(sy_c_Orderings_Oord__class_Oless_001t__Int__Oint, type,
    ord_less_int : int > int > $o).
thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat, type,
    ord_less_nat : nat > nat > $o).
thf(sy_c_Parity_Osemiring__bit__shifts__class_Otake__bit_001t__Int__Oint, type,
    semiri1605039314it_int : nat > int > int).
thf(sy_c_Parity_Osemiring__bit__shifts__class_Otake__bit_001t__Nat__Onat, type,
    semiri967765622it_nat : nat > nat > nat).
thf(sy_c_Rings_Ozero__neq__one__class_Oof__bool_001t__Int__Oint, type,
    zero_n1994027371ol_int : $o > int).
thf(sy_c_Rings_Ozero__neq__one__class_Oof__bool_001t__Nat__Onat, type,
    zero_n1356753679ol_nat : $o > nat).
thf(sy_v_P, type,
    p : a > state > $o).
thf(sy_v_Q, type,
    q : a > state > $o).
thf(sy_v_pn, type,
    pn : pname).

% Relevant facts (176)
thf(fact_0_com_Oinject_I6_J, axiom,
    ((![X7 : pname, Y7 : pname]: (((body @ X7) = (body @ Y7)) = (X7 = Y7))))). % com.inject(6)
thf(fact_1_evaln__max2, axiom,
    ((![C1 : com, S1 : state, N1 : nat, T1 : state, C2 : com, S2 : state, N2 : nat, T2 : state]: ((evaln @ C1 @ S1 @ N1 @ T1) => ((evaln @ C2 @ S2 @ N2 @ T2) => (?[N : nat]: ((evaln @ C1 @ S1 @ N @ T1) & (evaln @ C2 @ S2 @ N @ T2)))))))). % evaln_max2
thf(fact_2_zero__natural_Orsp, axiom,
    ((zero_zero_nat = zero_zero_nat))). % zero_natural.rsp
thf(fact_3_zero__reorient, axiom,
    ((![X : nat]: ((zero_zero_nat = X) = (X = zero_zero_nat))))). % zero_reorient
thf(fact_4_zero__reorient, axiom,
    ((![X : int]: ((zero_zero_int = X) = (X = zero_zero_int))))). % zero_reorient
thf(fact_5_com_Osize__gen_I7_J, axiom,
    ((![X7 : pname]: ((size_com @ (body @ X7)) = zero_zero_nat)))). % com.size_gen(7)
thf(fact_6_com_Osize_I15_J, axiom,
    ((![X7 : pname]: ((size_size_com @ (body @ X7)) = zero_zero_nat)))). % com.size(15)
thf(fact_7_size__0, axiom,
    (((euclid1226173669ze_nat @ zero_zero_nat) = zero_zero_nat))). % size_0
thf(fact_8_size__0, axiom,
    (((euclid1863447361ze_int @ zero_zero_int) = zero_zero_nat))). % size_0
thf(fact_9_euclidean__size__eq__0__iff, axiom,
    ((![B : int]: (((euclid1863447361ze_int @ B) = zero_zero_nat) = (B = zero_zero_int))))). % euclidean_size_eq_0_iff
thf(fact_10_euclidean__size__eq__0__iff, axiom,
    ((![B : nat]: (((euclid1226173669ze_nat @ B) = zero_zero_nat) = (B = zero_zero_nat))))). % euclidean_size_eq_0_iff
thf(fact_11_take__bit__0, axiom,
    ((![A : int]: ((semiri1605039314it_int @ zero_zero_nat @ A) = zero_zero_int)))). % take_bit_0
thf(fact_12_take__bit__0, axiom,
    ((![A : nat]: ((semiri967765622it_nat @ zero_zero_nat @ A) = zero_zero_nat)))). % take_bit_0
thf(fact_13_take__bit__of__0, axiom,
    ((![N3 : nat]: ((semiri1605039314it_int @ N3 @ zero_zero_int) = zero_zero_int)))). % take_bit_of_0
thf(fact_14_take__bit__of__0, axiom,
    ((![N3 : nat]: ((semiri967765622it_nat @ N3 @ zero_zero_nat) = zero_zero_nat)))). % take_bit_of_0
thf(fact_15_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_16_take__bit__of__1__eq__0__iff, axiom,
    ((![N3 : nat]: (((semiri1605039314it_int @ N3 @ one_one_int) = zero_zero_int) = (N3 = zero_zero_nat))))). % take_bit_of_1_eq_0_iff
thf(fact_17_take__bit__of__1__eq__0__iff, axiom,
    ((![N3 : nat]: (((semiri967765622it_nat @ N3 @ one_one_nat) = zero_zero_nat) = (N3 = zero_zero_nat))))). % take_bit_of_1_eq_0_iff
thf(fact_18_euclidean__size__greater__0__iff, axiom,
    ((![B : int]: ((ord_less_nat @ zero_zero_nat @ (euclid1863447361ze_int @ B)) = (~ ((B = zero_zero_int))))))). % euclidean_size_greater_0_iff
thf(fact_19_euclidean__size__greater__0__iff, axiom,
    ((![B : nat]: ((ord_less_nat @ zero_zero_nat @ (euclid1226173669ze_nat @ B)) = (~ ((B = zero_zero_nat))))))). % euclidean_size_greater_0_iff
thf(fact_20_com_Osize_I9_J, axiom,
    (((size_size_com @ skip) = zero_zero_nat))). % com.size(9)
thf(fact_21_com_Osize__gen_I1_J, axiom,
    (((size_com @ skip) = zero_zero_nat))). % com.size_gen(1)
thf(fact_22_com_Osize_I16_J, axiom,
    ((![X81 : vname, X82 : pname, X83 : state > nat]: ((size_size_com @ (call @ X81 @ X82 @ X83)) = zero_zero_nat)))). % com.size(16)
thf(fact_23_com_Osize_I10_J, axiom,
    ((![X21 : vname, X22 : state > nat]: ((size_size_com @ (ass @ X21 @ X22)) = zero_zero_nat)))). % com.size(10)
thf(fact_24_com_Osize__gen_I2_J, axiom,
    ((![X21 : vname, X22 : state > nat]: ((size_com @ (ass @ X21 @ X22)) = zero_zero_nat)))). % com.size_gen(2)
thf(fact_25_com_Osize__gen_I8_J, axiom,
    ((![X81 : vname, X82 : pname, X83 : state > nat]: ((size_com @ (call @ X81 @ X82 @ X83)) = zero_zero_nat)))). % com.size_gen(8)
thf(fact_26_com_Oinject_I7_J, axiom,
    ((![X81 : vname, X82 : pname, X83 : state > nat, Y81 : vname, Y82 : pname, Y83 : state > nat]: (((call @ X81 @ X82 @ X83) = (call @ Y81 @ Y82 @ Y83)) = (((X81 = Y81)) & ((((X82 = Y82)) & ((X83 = Y83))))))))). % com.inject(7)
thf(fact_27_com_Oinject_I1_J, axiom,
    ((![X21 : vname, X22 : state > nat, Y21 : vname, Y22 : state > nat]: (((ass @ X21 @ X22) = (ass @ Y21 @ Y22)) = (((X21 = Y21)) & ((X22 = Y22))))))). % com.inject(1)
thf(fact_28_not__gr__zero, axiom,
    ((![N3 : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N3))) = (N3 = zero_zero_nat))))). % not_gr_zero
thf(fact_29_less__one, axiom,
    ((![N3 : nat]: ((ord_less_nat @ N3 @ one_one_nat) = (N3 = zero_zero_nat))))). % less_one
thf(fact_30_neq0__conv, axiom,
    ((![N3 : nat]: ((~ ((N3 = zero_zero_nat))) = (ord_less_nat @ zero_zero_nat @ N3))))). % neq0_conv
thf(fact_31_less__nat__zero__code, axiom,
    ((![N3 : nat]: (~ ((ord_less_nat @ N3 @ zero_zero_nat)))))). % less_nat_zero_code
thf(fact_32_bot__nat__0_Onot__eq__extremum, axiom,
    ((![A : nat]: ((~ ((A = zero_zero_nat))) = (ord_less_nat @ zero_zero_nat @ A))))). % bot_nat_0.not_eq_extremum
thf(fact_33_euclidean__size__1, axiom,
    (((euclid1863447361ze_int @ one_one_int) = one_one_nat))). % euclidean_size_1
thf(fact_34_euclidean__size__1, axiom,
    (((euclid1226173669ze_nat @ one_one_nat) = one_one_nat))). % euclidean_size_1
thf(fact_35_com_Odistinct_I25_J, axiom,
    ((![X21 : vname, X22 : state > nat, X81 : vname, X82 : pname, X83 : state > nat]: (~ (((ass @ X21 @ X22) = (call @ X81 @ X82 @ X83))))))). % com.distinct(25)
thf(fact_36_com_Odistinct_I13_J, axiom,
    ((![X81 : vname, X82 : pname, X83 : state > nat]: (~ ((skip = (call @ X81 @ X82 @ X83))))))). % com.distinct(13)
thf(fact_37_com_Odistinct_I1_J, axiom,
    ((![X21 : vname, X22 : state > nat]: (~ ((skip = (ass @ X21 @ X22))))))). % com.distinct(1)
thf(fact_38_nat__neq__iff, axiom,
    ((![M : nat, N3 : nat]: ((~ ((M = N3))) = (((ord_less_nat @ M @ N3)) | ((ord_less_nat @ N3 @ M))))))). % nat_neq_iff
thf(fact_39_less__not__refl, axiom,
    ((![N3 : nat]: (~ ((ord_less_nat @ N3 @ N3)))))). % less_not_refl
thf(fact_40_less__not__refl2, axiom,
    ((![N3 : nat, M : nat]: ((ord_less_nat @ N3 @ M) => (~ ((M = N3))))))). % less_not_refl2
thf(fact_41_less__not__refl3, axiom,
    ((![S : nat, T : nat]: ((ord_less_nat @ S @ T) => (~ ((S = T))))))). % less_not_refl3
thf(fact_42_one__reorient, axiom,
    ((![X : nat]: ((one_one_nat = X) = (X = one_one_nat))))). % one_reorient
thf(fact_43_one__reorient, axiom,
    ((![X : int]: ((one_one_int = X) = (X = one_one_int))))). % one_reorient
thf(fact_44_less__irrefl__nat, axiom,
    ((![N3 : nat]: (~ ((ord_less_nat @ N3 @ N3)))))). % less_irrefl_nat
thf(fact_45_nat__less__induct, axiom,
    ((![P : nat > $o, N3 : nat]: ((![N : nat]: ((![M2 : nat]: ((ord_less_nat @ M2 @ N) => (P @ M2))) => (P @ N))) => (P @ N3))))). % nat_less_induct
thf(fact_46_infinite__descent, axiom,
    ((![P : nat > $o, N3 : nat]: ((![N : nat]: ((~ ((P @ N))) => (?[M2 : nat]: ((ord_less_nat @ M2 @ N) & (~ ((P @ M2))))))) => (P @ N3))))). % infinite_descent
thf(fact_47_linorder__neqE__nat, axiom,
    ((![X : nat, Y : nat]: ((~ ((X = Y))) => ((~ ((ord_less_nat @ X @ Y))) => (ord_less_nat @ Y @ X)))))). % linorder_neqE_nat
thf(fact_48_gr__zeroI, axiom,
    ((![N3 : nat]: ((~ ((N3 = zero_zero_nat))) => (ord_less_nat @ zero_zero_nat @ N3))))). % gr_zeroI
thf(fact_49_not__less__zero, axiom,
    ((![N3 : nat]: (~ ((ord_less_nat @ N3 @ zero_zero_nat)))))). % not_less_zero
thf(fact_50_gr__implies__not__zero, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ M @ N3) => (~ ((N3 = zero_zero_nat))))))). % gr_implies_not_zero
thf(fact_51_zero__less__iff__neq__zero, axiom,
    ((![N3 : nat]: ((ord_less_nat @ zero_zero_nat @ N3) = (~ ((N3 = zero_zero_nat))))))). % zero_less_iff_neq_zero
thf(fact_52_gr0I, axiom,
    ((![N3 : nat]: ((~ ((N3 = zero_zero_nat))) => (ord_less_nat @ zero_zero_nat @ N3))))). % gr0I
thf(fact_53_not__gr0, axiom,
    ((![N3 : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N3))) = (N3 = zero_zero_nat))))). % not_gr0
thf(fact_54_not__less0, axiom,
    ((![N3 : nat]: (~ ((ord_less_nat @ N3 @ zero_zero_nat)))))). % not_less0
thf(fact_55_less__zeroE, axiom,
    ((![N3 : nat]: (~ ((ord_less_nat @ N3 @ zero_zero_nat)))))). % less_zeroE
thf(fact_56_gr__implies__not0, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ M @ N3) => (~ ((N3 = zero_zero_nat))))))). % gr_implies_not0
thf(fact_57_infinite__descent0, axiom,
    ((![P : nat > $o, N3 : nat]: ((P @ zero_zero_nat) => ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ N) => ((~ ((P @ N))) => (?[M2 : nat]: ((ord_less_nat @ M2 @ N) & (~ ((P @ M2)))))))) => (P @ N3)))))). % infinite_descent0
thf(fact_58_bot__nat__0_Oextremum__strict, axiom,
    ((![A : nat]: (~ ((ord_less_nat @ A @ zero_zero_nat)))))). % bot_nat_0.extremum_strict
thf(fact_59_com_Odistinct_I55_J, axiom,
    ((![X7 : pname, X81 : vname, X82 : pname, X83 : state > nat]: (~ (((body @ X7) = (call @ X81 @ X82 @ X83))))))). % com.distinct(55)
thf(fact_60_com_Odistinct_I23_J, axiom,
    ((![X21 : vname, X22 : state > nat, X7 : pname]: (~ (((ass @ X21 @ X22) = (body @ X7))))))). % com.distinct(23)
thf(fact_61_evaln__elim__cases_I1_J, axiom,
    ((![S : state, N3 : nat, T : state]: ((evaln @ skip @ S @ N3 @ T) => (T = S))))). % evaln_elim_cases(1)
thf(fact_62_evaln_OSkip, axiom,
    ((![S : state, N3 : nat]: (evaln @ skip @ S @ N3 @ S)))). % evaln.Skip
thf(fact_63_com_Odistinct_I11_J, axiom,
    ((![X7 : pname]: (~ ((skip = (body @ X7))))))). % com.distinct(11)
thf(fact_64_less__numeral__extra_I1_J, axiom,
    ((ord_less_nat @ zero_zero_nat @ one_one_nat))). % less_numeral_extra(1)
thf(fact_65_less__numeral__extra_I1_J, axiom,
    ((ord_less_int @ zero_zero_int @ one_one_int))). % less_numeral_extra(1)
thf(fact_66_zero__less__one, axiom,
    ((ord_less_nat @ zero_zero_nat @ one_one_nat))). % zero_less_one
thf(fact_67_zero__less__one, axiom,
    ((ord_less_int @ zero_zero_int @ one_one_int))). % zero_less_one
thf(fact_68_not__one__less__zero, axiom,
    ((~ ((ord_less_nat @ one_one_nat @ zero_zero_nat))))). % not_one_less_zero
thf(fact_69_not__one__less__zero, axiom,
    ((~ ((ord_less_int @ one_one_int @ zero_zero_int))))). % not_one_less_zero
thf(fact_70_less__numeral__extra_I4_J, axiom,
    ((~ ((ord_less_nat @ one_one_nat @ one_one_nat))))). % less_numeral_extra(4)
thf(fact_71_less__numeral__extra_I4_J, axiom,
    ((~ ((ord_less_int @ one_one_int @ one_one_int))))). % less_numeral_extra(4)
thf(fact_72_zero__neq__one, axiom,
    ((~ ((zero_zero_nat = one_one_nat))))). % zero_neq_one
thf(fact_73_zero__neq__one, axiom,
    ((~ ((zero_zero_int = one_one_int))))). % zero_neq_one
thf(fact_74_less__numeral__extra_I3_J, axiom,
    ((~ ((ord_less_nat @ zero_zero_nat @ zero_zero_nat))))). % less_numeral_extra(3)
thf(fact_75_less__numeral__extra_I3_J, axiom,
    ((~ ((ord_less_int @ zero_zero_int @ zero_zero_int))))). % less_numeral_extra(3)
thf(fact_76_take__bit__of__1, axiom,
    ((![N3 : nat]: ((semiri1605039314it_int @ N3 @ one_one_int) = (zero_n1994027371ol_int @ (ord_less_nat @ zero_zero_nat @ N3)))))). % take_bit_of_1
thf(fact_77_take__bit__of__1, axiom,
    ((![N3 : nat]: ((semiri967765622it_nat @ N3 @ one_one_nat) = (zero_n1356753679ol_nat @ (ord_less_nat @ zero_zero_nat @ N3)))))). % take_bit_of_1
thf(fact_78_of__nat__0__less__iff, axiom,
    ((![N3 : nat]: ((ord_less_nat @ zero_zero_nat @ (semiri1382578993at_nat @ N3)) = (ord_less_nat @ zero_zero_nat @ N3))))). % of_nat_0_less_iff
thf(fact_79_of__nat__0__less__iff, axiom,
    ((![N3 : nat]: ((ord_less_int @ zero_zero_int @ (semiri2019852685at_int @ N3)) = (ord_less_nat @ zero_zero_nat @ N3))))). % of_nat_0_less_iff
thf(fact_80_of__nat__eq__iff, axiom,
    ((![M : nat, N3 : nat]: (((semiri2019852685at_int @ M) = (semiri2019852685at_int @ N3)) = (M = N3))))). % of_nat_eq_iff
thf(fact_81_of__bool__eq_I1_J, axiom,
    (((zero_n1994027371ol_int @ $false) = zero_zero_int))). % of_bool_eq(1)
thf(fact_82_of__bool__eq_I1_J, axiom,
    (((zero_n1356753679ol_nat @ $false) = zero_zero_nat))). % of_bool_eq(1)
thf(fact_83_of__bool__eq_I2_J, axiom,
    (((zero_n1994027371ol_int @ $true) = one_one_int))). % of_bool_eq(2)
thf(fact_84_of__bool__eq_I2_J, axiom,
    (((zero_n1356753679ol_nat @ $true) = one_one_nat))). % of_bool_eq(2)
thf(fact_85_of__nat__of__bool, axiom,
    ((![P : $o]: ((semiri2019852685at_int @ (zero_n1356753679ol_nat @ P)) = (zero_n1994027371ol_int @ P))))). % of_nat_of_bool
thf(fact_86_of__nat__of__bool, axiom,
    ((![P : $o]: ((semiri1382578993at_nat @ (zero_n1356753679ol_nat @ P)) = (zero_n1356753679ol_nat @ P))))). % of_nat_of_bool
thf(fact_87_euclidean__size__of__nat, axiom,
    ((![N3 : nat]: ((euclid1863447361ze_int @ (semiri2019852685at_int @ N3)) = N3)))). % euclidean_size_of_nat
thf(fact_88_euclidean__size__of__nat, axiom,
    ((![N3 : nat]: ((euclid1226173669ze_nat @ (semiri1382578993at_nat @ N3)) = N3)))). % euclidean_size_of_nat
thf(fact_89_of__nat__eq__0__iff, axiom,
    ((![M : nat]: (((semiri1382578993at_nat @ M) = zero_zero_nat) = (M = zero_zero_nat))))). % of_nat_eq_0_iff
thf(fact_90_of__nat__eq__0__iff, axiom,
    ((![M : nat]: (((semiri2019852685at_int @ M) = zero_zero_int) = (M = zero_zero_nat))))). % of_nat_eq_0_iff
thf(fact_91_of__nat__0__eq__iff, axiom,
    ((![N3 : nat]: ((zero_zero_nat = (semiri1382578993at_nat @ N3)) = (zero_zero_nat = N3))))). % of_nat_0_eq_iff
thf(fact_92_of__nat__0__eq__iff, axiom,
    ((![N3 : nat]: ((zero_zero_int = (semiri2019852685at_int @ N3)) = (zero_zero_nat = N3))))). % of_nat_0_eq_iff
thf(fact_93_of__nat__0, axiom,
    (((semiri1382578993at_nat @ zero_zero_nat) = zero_zero_nat))). % of_nat_0
thf(fact_94_of__nat__0, axiom,
    (((semiri2019852685at_int @ zero_zero_nat) = zero_zero_int))). % of_nat_0
thf(fact_95_of__nat__less__iff, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N3)) = (ord_less_nat @ M @ N3))))). % of_nat_less_iff
thf(fact_96_of__nat__less__iff, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N3)) = (ord_less_nat @ M @ N3))))). % of_nat_less_iff
thf(fact_97_of__nat__eq__1__iff, axiom,
    ((![N3 : nat]: (((semiri1382578993at_nat @ N3) = one_one_nat) = (N3 = one_one_nat))))). % of_nat_eq_1_iff
thf(fact_98_of__nat__eq__1__iff, axiom,
    ((![N3 : nat]: (((semiri2019852685at_int @ N3) = one_one_int) = (N3 = one_one_nat))))). % of_nat_eq_1_iff
thf(fact_99_of__nat__1__eq__iff, axiom,
    ((![N3 : nat]: ((one_one_nat = (semiri1382578993at_nat @ N3)) = (N3 = one_one_nat))))). % of_nat_1_eq_iff
thf(fact_100_of__nat__1__eq__iff, axiom,
    ((![N3 : nat]: ((one_one_int = (semiri2019852685at_int @ N3)) = (N3 = one_one_nat))))). % of_nat_1_eq_iff
thf(fact_101_of__nat__1, axiom,
    (((semiri1382578993at_nat @ one_one_nat) = one_one_nat))). % of_nat_1
thf(fact_102_of__nat__1, axiom,
    (((semiri2019852685at_int @ one_one_nat) = one_one_int))). % of_nat_1
thf(fact_103_one__natural_Orsp, axiom,
    ((one_one_nat = one_one_nat))). % one_natural.rsp
thf(fact_104_of__bool__eq__iff, axiom,
    ((![P2 : $o, Q : $o]: (((zero_n1356753679ol_nat @ P2) = (zero_n1356753679ol_nat @ Q)) = (P2 = Q))))). % of_bool_eq_iff
thf(fact_105_take__bit__of__nat, axiom,
    ((![N3 : nat, M : nat]: ((semiri1605039314it_int @ N3 @ (semiri2019852685at_int @ M)) = (semiri2019852685at_int @ (semiri967765622it_nat @ N3 @ M)))))). % take_bit_of_nat
thf(fact_106_take__bit__of__nat, axiom,
    ((![N3 : nat, M : nat]: ((semiri967765622it_nat @ N3 @ (semiri1382578993at_nat @ M)) = (semiri1382578993at_nat @ (semiri967765622it_nat @ N3 @ M)))))). % take_bit_of_nat
thf(fact_107_split__of__bool__asm, axiom,
    ((![P : int > $o, P2 : $o]: ((P @ (zero_n1994027371ol_int @ P2)) = (~ (((((P2) & ((~ ((P @ one_one_int)))))) | ((((~ (P2))) & ((~ ((P @ zero_zero_int))))))))))))). % split_of_bool_asm
thf(fact_108_split__of__bool__asm, axiom,
    ((![P : nat > $o, P2 : $o]: ((P @ (zero_n1356753679ol_nat @ P2)) = (~ (((((P2) & ((~ ((P @ one_one_nat)))))) | ((((~ (P2))) & ((~ ((P @ zero_zero_nat))))))))))))). % split_of_bool_asm
thf(fact_109_split__of__bool, axiom,
    ((![P : int > $o, P2 : $o]: ((P @ (zero_n1994027371ol_int @ P2)) = ((((P2) => ((P @ one_one_int)))) & ((((~ (P2))) => ((P @ zero_zero_int))))))))). % split_of_bool
thf(fact_110_split__of__bool, axiom,
    ((![P : nat > $o, P2 : $o]: ((P @ (zero_n1356753679ol_nat @ P2)) = ((((P2) => ((P @ one_one_nat)))) & ((((~ (P2))) => ((P @ zero_zero_nat))))))))). % split_of_bool
thf(fact_111_of__bool__def, axiom,
    ((zero_n1994027371ol_int = (^[P3 : $o]: (if_int @ P3 @ one_one_int @ zero_zero_int))))). % of_bool_def
thf(fact_112_of__bool__def, axiom,
    ((zero_n1356753679ol_nat = (^[P3 : $o]: (if_nat @ P3 @ one_one_nat @ zero_zero_nat))))). % of_bool_def
thf(fact_113_of__nat__less__0__iff, axiom,
    ((![M : nat]: (~ ((ord_less_nat @ (semiri1382578993at_nat @ M) @ zero_zero_nat)))))). % of_nat_less_0_iff
thf(fact_114_of__nat__less__0__iff, axiom,
    ((![M : nat]: (~ ((ord_less_int @ (semiri2019852685at_int @ M) @ zero_zero_int)))))). % of_nat_less_0_iff
thf(fact_115_of__nat__less__imp__less, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N3)) => (ord_less_nat @ M @ N3))))). % of_nat_less_imp_less
thf(fact_116_of__nat__less__imp__less, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N3)) => (ord_less_nat @ M @ N3))))). % of_nat_less_imp_less
thf(fact_117_less__imp__of__nat__less, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ M @ N3) => (ord_less_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N3)))))). % less_imp_of_nat_less
thf(fact_118_less__imp__of__nat__less, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ M @ N3) => (ord_less_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N3)))))). % less_imp_of_nat_less
thf(fact_119_linorder__neqE__linordered__idom, axiom,
    ((![X : int, Y : int]: ((~ ((X = Y))) => ((~ ((ord_less_int @ X @ Y))) => (ord_less_int @ Y @ X)))))). % linorder_neqE_linordered_idom
thf(fact_120_zero__less__imp__eq__int, axiom,
    ((![K : int]: ((ord_less_int @ zero_zero_int @ K) => (?[N : nat]: ((ord_less_nat @ zero_zero_nat @ N) & (K = (semiri2019852685at_int @ N)))))))). % zero_less_imp_eq_int
thf(fact_121_pos__int__cases, axiom,
    ((![K : int]: ((ord_less_int @ zero_zero_int @ K) => (~ ((![N : nat]: ((K = (semiri2019852685at_int @ N)) => (~ ((ord_less_nat @ zero_zero_nat @ N))))))))))). % pos_int_cases
thf(fact_122_dbl__inc__simps_I2_J, axiom,
    (((neg_nu1877376189nc_int @ zero_zero_int) = one_one_int))). % dbl_inc_simps(2)
thf(fact_123_sgn__of__nat, axiom,
    ((![N3 : nat]: ((sgn_sgn_int @ (semiri2019852685at_int @ N3)) = (zero_n1994027371ol_int @ (ord_less_nat @ zero_zero_nat @ N3)))))). % sgn_of_nat
thf(fact_124_sgn__0, axiom,
    (((sgn_sgn_int @ zero_zero_int) = zero_zero_int))). % sgn_0
thf(fact_125_sgn__1, axiom,
    (((sgn_sgn_int @ one_one_int) = one_one_int))). % sgn_1
thf(fact_126_sgn__less, axiom,
    ((![A : int]: ((ord_less_int @ (sgn_sgn_int @ A) @ zero_zero_int) = (ord_less_int @ A @ zero_zero_int))))). % sgn_less
thf(fact_127_sgn__greater, axiom,
    ((![A : int]: ((ord_less_int @ zero_zero_int @ (sgn_sgn_int @ A)) = (ord_less_int @ zero_zero_int @ A))))). % sgn_greater
thf(fact_128_sgn__pos, axiom,
    ((![A : int]: ((ord_less_int @ zero_zero_int @ A) => ((sgn_sgn_int @ A) = one_one_int))))). % sgn_pos
thf(fact_129_less__int__code_I1_J, axiom,
    ((~ ((ord_less_int @ zero_zero_int @ zero_zero_int))))). % less_int_code(1)
thf(fact_130_not__take__bit__negative, axiom,
    ((![N3 : nat, K : int]: (~ ((ord_less_int @ (semiri1605039314it_int @ N3 @ K) @ zero_zero_int)))))). % not_take_bit_negative
thf(fact_131_sgn__0__0, axiom,
    ((![A : int]: (((sgn_sgn_int @ A) = zero_zero_int) = (A = zero_zero_int))))). % sgn_0_0
thf(fact_132_sgn__eq__0__iff, axiom,
    ((![A : int]: (((sgn_sgn_int @ A) = zero_zero_int) = (A = zero_zero_int))))). % sgn_eq_0_iff
thf(fact_133_int__int__eq, axiom,
    ((![M : nat, N3 : nat]: (((semiri2019852685at_int @ M) = (semiri2019852685at_int @ N3)) = (M = N3))))). % int_int_eq
thf(fact_134_zero__integer_Orsp, axiom,
    ((zero_zero_int = zero_zero_int))). % zero_integer.rsp
thf(fact_135_sgn__1__pos, axiom,
    ((![A : int]: (((sgn_sgn_int @ A) = one_one_int) = (ord_less_int @ zero_zero_int @ A))))). % sgn_1_pos
thf(fact_136_nat__int__comparison_I2_J, axiom,
    ((ord_less_nat = (^[A2 : nat]: (^[B2 : nat]: (ord_less_int @ (semiri2019852685at_int @ A2) @ (semiri2019852685at_int @ B2))))))). % nat_int_comparison(2)
thf(fact_137_int__ops_I1_J, axiom,
    (((semiri2019852685at_int @ zero_zero_nat) = zero_zero_int))). % int_ops(1)
thf(fact_138_int__ops_I2_J, axiom,
    (((semiri2019852685at_int @ one_one_nat) = one_one_int))). % int_ops(2)
thf(fact_139_one__integer_Orsp, axiom,
    ((one_one_int = one_one_int))). % one_integer.rsp
thf(fact_140_verit__comp__simplify1_I1_J, axiom,
    ((![A : nat]: (~ ((ord_less_nat @ A @ A)))))). % verit_comp_simplify1(1)
thf(fact_141_verit__comp__simplify1_I1_J, axiom,
    ((![A : int]: (~ ((ord_less_int @ A @ A)))))). % verit_comp_simplify1(1)
thf(fact_142_int__if, axiom,
    ((![P : $o, A : nat, B : nat]: ((P => ((semiri2019852685at_int @ (if_nat @ P @ A @ B)) = (semiri2019852685at_int @ A))) & ((~ (P)) => ((semiri2019852685at_int @ (if_nat @ P @ A @ B)) = (semiri2019852685at_int @ B))))))). % int_if
thf(fact_143_nat__int__comparison_I1_J, axiom,
    (((^[Y2 : nat]: (^[Z : nat]: (Y2 = Z))) = (^[A2 : nat]: (^[B2 : nat]: ((semiri2019852685at_int @ A2) = (semiri2019852685at_int @ B2))))))). % nat_int_comparison(1)
thf(fact_144_take__bit__int__greater__self__iff, axiom,
    ((![K : int, N3 : nat]: ((ord_less_int @ K @ (semiri1605039314it_int @ N3 @ K)) = (ord_less_int @ K @ zero_zero_int))))). % take_bit_int_greater_self_iff
thf(fact_145_take__bit__of__Suc__0, axiom,
    ((![N3 : nat]: ((semiri967765622it_nat @ N3 @ (suc @ zero_zero_nat)) = (zero_n1356753679ol_nat @ (ord_less_nat @ zero_zero_nat @ N3)))))). % take_bit_of_Suc_0
thf(fact_146_nat_Oinject, axiom,
    ((![X2 : nat, Y23 : nat]: (((suc @ X2) = (suc @ Y23)) = (X2 = Y23))))). % nat.inject
thf(fact_147_old_Onat_Oinject, axiom,
    ((![Nat : nat, Nat2 : nat]: (((suc @ Nat) = (suc @ Nat2)) = (Nat = Nat2))))). % old.nat.inject
thf(fact_148_lessI, axiom,
    ((![N3 : nat]: (ord_less_nat @ N3 @ (suc @ N3))))). % lessI
thf(fact_149_Suc__mono, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ M @ N3) => (ord_less_nat @ (suc @ M) @ (suc @ N3)))))). % Suc_mono
thf(fact_150_Suc__less__eq, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ (suc @ M) @ (suc @ N3)) = (ord_less_nat @ M @ N3))))). % Suc_less_eq
thf(fact_151_zero__less__Suc, axiom,
    ((![N3 : nat]: (ord_less_nat @ zero_zero_nat @ (suc @ N3))))). % zero_less_Suc
thf(fact_152_less__Suc0, axiom,
    ((![N3 : nat]: ((ord_less_nat @ N3 @ (suc @ zero_zero_nat)) = (N3 = zero_zero_nat))))). % less_Suc0
thf(fact_153_take__bit__Suc__1, axiom,
    ((![N3 : nat]: ((semiri1605039314it_int @ (suc @ N3) @ one_one_int) = one_one_int)))). % take_bit_Suc_1
thf(fact_154_take__bit__Suc__1, axiom,
    ((![N3 : nat]: ((semiri967765622it_nat @ (suc @ N3) @ one_one_nat) = one_one_nat)))). % take_bit_Suc_1
thf(fact_155_lift__Suc__mono__less__iff, axiom,
    ((![F : nat > nat, N3 : nat, M : nat]: ((![N : nat]: (ord_less_nat @ (F @ N) @ (F @ (suc @ N)))) => ((ord_less_nat @ (F @ N3) @ (F @ M)) = (ord_less_nat @ N3 @ M)))))). % lift_Suc_mono_less_iff
thf(fact_156_lift__Suc__mono__less__iff, axiom,
    ((![F : nat > int, N3 : nat, M : nat]: ((![N : nat]: (ord_less_int @ (F @ N) @ (F @ (suc @ N)))) => ((ord_less_int @ (F @ N3) @ (F @ M)) = (ord_less_nat @ N3 @ M)))))). % lift_Suc_mono_less_iff
thf(fact_157_lift__Suc__mono__less, axiom,
    ((![F : nat > nat, N3 : nat, N4 : nat]: ((![N : nat]: (ord_less_nat @ (F @ N) @ (F @ (suc @ N)))) => ((ord_less_nat @ N3 @ N4) => (ord_less_nat @ (F @ N3) @ (F @ N4))))))). % lift_Suc_mono_less
thf(fact_158_lift__Suc__mono__less, axiom,
    ((![F : nat > int, N3 : nat, N4 : nat]: ((![N : nat]: (ord_less_int @ (F @ N) @ (F @ (suc @ N)))) => ((ord_less_nat @ N3 @ N4) => (ord_less_int @ (F @ N3) @ (F @ N4))))))). % lift_Suc_mono_less
thf(fact_159_of__nat__neq__0, axiom,
    ((![N3 : nat]: (~ (((semiri1382578993at_nat @ (suc @ N3)) = zero_zero_nat)))))). % of_nat_neq_0
thf(fact_160_of__nat__neq__0, axiom,
    ((![N3 : nat]: (~ (((semiri2019852685at_int @ (suc @ N3)) = zero_zero_int)))))). % of_nat_neq_0
thf(fact_161_less__Suc__eq__0__disj, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ M @ (suc @ N3)) = (((M = zero_zero_nat)) | ((?[J : nat]: (((M = (suc @ J))) & ((ord_less_nat @ J @ N3)))))))))). % less_Suc_eq_0_disj
thf(fact_162_gr0__implies__Suc, axiom,
    ((![N3 : nat]: ((ord_less_nat @ zero_zero_nat @ N3) => (?[M3 : nat]: (N3 = (suc @ M3))))))). % gr0_implies_Suc
thf(fact_163_All__less__Suc2, axiom,
    ((![N3 : nat, P : nat > $o]: ((![I : nat]: (((ord_less_nat @ I @ (suc @ N3))) => ((P @ I)))) = (((P @ zero_zero_nat)) & ((![I : nat]: (((ord_less_nat @ I @ N3)) => ((P @ (suc @ I))))))))))). % All_less_Suc2
thf(fact_164_gr0__conv__Suc, axiom,
    ((![N3 : nat]: ((ord_less_nat @ zero_zero_nat @ N3) = (?[M4 : nat]: (N3 = (suc @ M4))))))). % gr0_conv_Suc
thf(fact_165_Ex__less__Suc2, axiom,
    ((![N3 : nat, P : nat > $o]: ((?[I : nat]: (((ord_less_nat @ I @ (suc @ N3))) & ((P @ I)))) = (((P @ zero_zero_nat)) | ((?[I : nat]: (((ord_less_nat @ I @ N3)) & ((P @ (suc @ I))))))))))). % Ex_less_Suc2
thf(fact_166_One__nat__def, axiom,
    ((one_one_nat = (suc @ zero_zero_nat)))). % One_nat_def
thf(fact_167_evaln__Suc, axiom,
    ((![C : com, S : state, N3 : nat, S3 : state]: ((evaln @ C @ S @ N3 @ S3) => (evaln @ C @ S @ (suc @ N3) @ S3))))). % evaln_Suc
thf(fact_168_Suc__inject, axiom,
    ((![X : nat, Y : nat]: (((suc @ X) = (suc @ Y)) => (X = Y))))). % Suc_inject
thf(fact_169_n__not__Suc__n, axiom,
    ((![N3 : nat]: (~ ((N3 = (suc @ N3))))))). % n_not_Suc_n
thf(fact_170_Nat_OlessE, axiom,
    ((![I2 : nat, K : nat]: ((ord_less_nat @ I2 @ K) => ((~ ((K = (suc @ I2)))) => (~ ((![J2 : nat]: ((ord_less_nat @ I2 @ J2) => (~ ((K = (suc @ J2))))))))))))). % Nat.lessE
thf(fact_171_Suc__lessD, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ (suc @ M) @ N3) => (ord_less_nat @ M @ N3))))). % Suc_lessD
thf(fact_172_Suc__lessE, axiom,
    ((![I2 : nat, K : nat]: ((ord_less_nat @ (suc @ I2) @ K) => (~ ((![J2 : nat]: ((ord_less_nat @ I2 @ J2) => (~ ((K = (suc @ J2)))))))))))). % Suc_lessE
thf(fact_173_Suc__lessI, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ M @ N3) => ((~ (((suc @ M) = N3))) => (ord_less_nat @ (suc @ M) @ N3)))))). % Suc_lessI
thf(fact_174_less__SucE, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ M @ (suc @ N3)) => ((~ ((ord_less_nat @ M @ N3))) => (M = N3)))))). % less_SucE
thf(fact_175_less__SucI, axiom,
    ((![M : nat, N3 : nat]: ((ord_less_nat @ M @ N3) => (ord_less_nat @ M @ (suc @ N3)))))). % less_SucI

% Helper facts (5)
thf(help_If_2_1_If_001t__Int__Oint_T, axiom,
    ((![X : int, Y : int]: ((if_int @ $false @ X @ Y) = Y)))).
thf(help_If_1_1_If_001t__Int__Oint_T, axiom,
    ((![X : int, Y : int]: ((if_int @ $true @ X @ Y) = X)))).
thf(help_If_3_1_If_001t__Nat__Onat_T, axiom,
    ((![P : $o]: ((P = $true) | (P = $false))))).
thf(help_If_2_1_If_001t__Nat__Onat_T, axiom,
    ((![X : nat, Y : nat]: ((if_nat @ $false @ X @ Y) = Y)))).
thf(help_If_1_1_If_001t__Nat__Onat_T, axiom,
    ((![X : nat, Y : nat]: ((if_nat @ $true @ X @ Y) = X)))).

% Conjectures (1)
thf(conj_0, conjecture,
    ((![Z2 : a, S4 : state]: ((~ ((p @ Z2 @ S4))) | (![S5 : state]: ((~ ((evaln @ (body @ pn) @ S4 @ zero_zero_nat @ S5))) | (q @ Z2 @ S5))))))).
