Theory arithmetic

Parents

Contents

Type operators

(none)

Constants

Definitions

ABS_DIFF_defADDALT_ZEROBIT1BIT2DIV2_defDIVMOD_DEFDIV_defEVENEXPFACTFUNPOWGREATER_DEFGREATER_OR_EQLESS_OR_EQMAX_DEFMIN_DEFMODEQ_DEFMOD_defMULTNRCNUMERAL_DEFODDOT_DIVISIONSUBbool_to_bit_deffindq_defnat_elim__magic

Theorems

ABS_DIFF_ADD_SAMEABS_DIFF_COMMABS_DIFF_EQSABS_DIFF_EQ_0ABS_DIFF_LE_SUMABS_DIFF_PLUS_LEABS_DIFF_SUCABS_DIFF_SUC_LEABS_DIFF_SUMSABS_DIFF_SYMABS_DIFF_TRIANGLEABS_DIFF_TRIANGLE_lemABS_DIFF_ZEROADD1ADD_0ADD_ASSOCADD_CLAUSESADD_COMMADD_DIV_ADD_DIVADD_DIV_RWTADD_EQ_0ADD_EQ_1ADD_EQ_SUBADD_INV_0ADD_INV_0_EQADD_MODADD_MODULUSADD_MODULUS_LEFTADD_MODULUS_RIGHTADD_MONO_LESS_EQADD_SUBADD_SUB2ADD_SUCADD_SYMBOUNDED_EXISTS_THMBOUNDED_FORALL_THMCANCEL_SUBCEILING_DIVCEILING_DIV_LE_XCEILING_DIV_MODCEILING_DIV_defCEILING_MOD_defCOMPLETE_INDUCTIONDADIV2_DOUBLEDIVISIONDIVMOD_CALCDIVMOD_CORRECTDIVMOD_ELIM_THMDIVMOD_ELIM_THM'DIVMOD_IDDIVMOD_THMDIVMOD_UNIQDIV_0DIV_0_IMP_LTDIV_1DIV_DIV_DIV_MULTDIV_EQ_0DIV_EQ_XDIV_IDDIV_LESSDIV_LESS_EQDIV_LE_MONOTONEDIV_LE_XDIV_LT_XDIV_MOD_MOD_DIVDIV_MULTDIV_NUMERAL_THMDIV_ONEDIV_PDIV_P_UNIVDIV_SUBDIV_UNIQUEDOUBLE_LTEQ_ADD_LCANCELEQ_ADD_RCANCELEQ_LESS_EQEQ_MONO_ADD_EQEQ_MULT_LCANCELEQ_MULT_RCANCELEVEN_ADDEVEN_AND_ODDEVEN_DIV_2EVEN_DOUBLEEVEN_EXISTSEVEN_EXPEVEN_EXP_IFFEVEN_MOD2EVEN_MULTEVEN_ODDEVEN_ODD_EXISTSEVEN_OR_ODDEVEN_SUBEXISTS_GREATESTEXISTS_NUMEXP0EXP2_LTEXP_0EXP_1EXP_2EXP_ADDEXP_ALWAYS_BIG_ENOUGHEXP_BASE_INJECTIVEEXP_BASE_LEQ_MONO_IMPEXP_BASE_LEQ_MONO_SUC_IMPEXP_BASE_LE_IFFEXP_BASE_LE_MONOEXP_BASE_LT_MONOEXP_BASE_MULTEXP_EQ_0EXP_EQ_1EXP_EQ_BASEEXP_EXP_INJECTIVEEXP_EXP_LE_MONOEXP_EXP_LT_MONOEXP_EXP_MULTEXP_LE_1EXP_LT_1EXP_MODEXP_NONZEROEXP_POSEXP_SUBEXP_SUB_NUMERALFACT_GE_1FACT_LESSFACT_iffFORALL_NUMFORALL_NUM_THMFUNPOW_0FUNPOW_1FUNPOW_2FUNPOW_ADDFUNPOW_COMMFUNPOW_CONGFUNPOW_KFUNPOW_SUCFUNPOW_invariantFUNPOW_invariant_indexGEGREATER_EQINV_PRE_EQINV_PRE_LESSINV_PRE_LESS_EQLELEFT_ADD_DISTRIBLEFT_SUB_DISTRIBLESS_0_CASESLESS_ADDLESS_ADD_1LESS_ADD_NONZEROLESS_ADD_SUCLESS_ANTISYMLESS_CASESLESS_CASES_IMPLESS_DIV_EQ_ZEROLESS_EQLESS_EQUAL_ADDLESS_EQUAL_ANTISYMLESS_EQUAL_DIFFLESS_EQ_0LESS_EQ_ADDLESS_EQ_ADD_EXISTSLESS_EQ_ADD_SUBLESS_EQ_ANTISYMLESS_EQ_CASESLESS_EQ_EXISTSLESS_EQ_IFF_LESS_SUCLESS_EQ_IMP_LESS_SUCLESS_EQ_LESS_EQ_MONOLESS_EQ_LESS_TRANSLESS_EQ_MONOLESS_EQ_MONO_ADD_EQLESS_EQ_REFLLESS_EQ_SUB_LESSLESS_EQ_SUC_REFLLESS_EQ_TRANSLESS_EXP_SUC_MONOLESS_IMP_LESS_ADDLESS_IMP_LESS_OR_EQLESS_LESS_CASESLESS_LESS_EQ_TRANSLESS_LESS_SUCLESS_MODLESS_MONO_ADDLESS_MONO_ADD_EQLESS_MONO_ADD_INVLESS_MONO_EQLESS_MONO_MULTLESS_MONO_MULT2LESS_MONO_REVLESS_MULT2LESS_MULT_MONOLESS_NOT_SUCLESS_ORLESS_OR_EQ_ADDLESS_OR_EQ_ALTLESS_STRONG_ADDLESS_SUB_ADD_LESSLESS_SUC_EQ_CORLESS_SUC_NOTLESS_TRANSLET_ANTISYMLET_TRANSLE_0LE_ADDLE_ADD_LCANCELLE_ADD_RCANCELLE_ANTISYMLE_CASESLE_EXISTSLE_LTLE_LT1LE_MULT_CANCEL_LBARELE_MULT_CANCEL_RBARELE_MULT_CEILING_DIVLE_MULT_LCANCELLE_MULT_RCANCELLE_REFLLE_SUB_LCANCELLE_SUB_RCANCELLE_TRANSLTLT1_EQ0LTE_ANTISYMLTE_CASESLTE_TRANSLT_ADD_LCANCELLT_ADD_RCANCELLT_CASESLT_EXISTSLT_IMP_LELT_LELT_MULT_CANCEL_LBARELT_MULT_CANCEL_RBARELT_MULT_LCANCELLT_MULT_RCANCELLT_SUB_LCANCELLT_SUB_RCANCELLT_SUCLT_SUC_LEMAX_0MAX_ALTMAX_ASSOCMAX_CASESMAX_COMMMAX_EQ_0MAX_EQ_GEMAX_IDEMMAX_LEMAX_LTMIN_0MIN_ALTMIN_ASSOCMIN_CASESMIN_COMMMIN_EQ_0MIN_EQ_LEMIN_IDEMMIN_LEMIN_LTMIN_MAX_EQMIN_MAX_LEMIN_MAX_LTMIN_MAX_PREDMODEQ_0MODEQ_0_CONGMODEQ_EXP_CONGMODEQ_INTRO_CONGMODEQ_MODMODEQ_MULT_CONGMODEQ_NONZERO_MODEQUALITYMODEQ_NUMERALMODEQ_PLUS_CONGMODEQ_REFLMODEQ_SUC_CONGMODEQ_SYMMODEQ_THMMODEQ_TRANSMOD_0MOD_1MOD_2MOD_ADD_ASSOCMOD_ADD_INVMOD_COMMON_FACTORMOD_DIV_SAMEMOD_ELIMMOD_EQNMOD_EQ_0MOD_EQ_0_DIVISORMOD_EQ_0_IFFMOD_EXPMOD_IDMOD_LESSMOD_LESS_EQMOD_LIFT_PLUSMOD_LIFT_PLUS_IFFMOD_MODMOD_MOD_LESS_EQMOD_MULTMOD_MULTIPLE_ZEROMOD_MULT_ASSOCMOD_MULT_MODMOD_ONEMOD_PMOD_PLUSMOD_PLUS3MOD_P_UNIVMOD_SUBMOD_SUCMOD_SUC_IFFMOD_TIMESMOD_TIMES2MOD_TIMES_SUBMOD_UNIQUEMULT_0MULT_ASSOCMULT_ASSOC_COMMMULT_CLAUSESMULT_COMMMULT_COMM_ASSOCMULT_DIVMULT_DIV_2MULT_EQ_0MULT_EQ_1MULT_EQ_DIVMULT_EQ_IDMULT_EQ_SELFMULT_EXP_MONOMULT_INCREASESMULT_LEFT_1MULT_LEFT_CANCELMULT_LEFT_IDMULT_LESS_EQ_SUCMULT_MONO_EQMULT_POSMULT_RIGHT_1MULT_RIGHT_CANCELMULT_RIGHT_IDMULT_SUCMULT_SUC_EQMULT_SYMMULT_TO_DIVNORM_0NOT_EXP_0NOT_GREATERNOT_GREATER_EQNOT_LENOT_LEQNOT_LESSNOT_LESS_EQUALNOT_LTNOT_LT_ZERO_EQ_ZERONOT_NUM_EQNOT_ODD_EQ_EVENNOT_STRICTLY_DECREASINGNOT_SUC_ADD_LESS_EQNOT_SUC_LESS_EQNOT_SUC_LESS_EQ_0NOT_ZERONOT_ZERO_LT_ZERONRC_0NRC_1NRC_ADD_ENRC_ADD_EQNNRC_ADD_INRC_RTCNRC_SUC_RECURSE_LEFTNUMERAL_MULT_EQ_DIVNUM_EXP_ADDODD_ADDODD_DOUBLEODD_EVENODD_EXISTSODD_EXPODD_EXP_IFFODD_MULTODD_OR_EVENODD_POSODD_SUBODD_bool_to_bitONEONE_LE_EXPONE_LT_EXPONE_LT_MULTONE_LT_MULT_IMPONE_MODONE_MOD_IFFONE_ONE_INV_IMAGE_BOUNDEDONE_ONE_UNBOUNDEDOR_LESSPRE_ELIM_THMPRE_ELIM_THM'PRE_ELIM_THM_EXISTSPRE_LESS_EQPRE_SUBPRE_SUB1PRE_SUC_EQRIGHT_ADD_DISTRIBRIGHT_SUB_DISTRIBRTC_NRCRTC_eq_NRCSTRICTLY_INCREASING_ONE_ONESTRICTLY_INCREASING_TCSTRICTLY_INCREASING_UNBOUNDEDSUB_0SUB_ADDSUB_CANCELSUB_ELIM_THMSUB_ELIM_THM'SUB_ELIM_THM_EXISTSSUB_ELIM_THM_EXISTS'SUB_EQUAL_0SUB_EQ_0SUB_EQ_EQ_0SUB_LEFT_ADDSUB_LEFT_EQSUB_LEFT_GREATERSUB_LEFT_GREATER_EQSUB_LEFT_LESSSUB_LEFT_LESS_EQSUB_LEFT_SUBSUB_LEFT_SUCSUB_LESSSUB_LESS_0SUB_LESS_EQSUB_LESS_EQ_ADDSUB_LESS_ORSUB_LESS_OR_EQSUB_LESS_SUCSUB_MODSUB_MONO_EQSUB_PLUSSUB_RIGHT_ADDSUB_RIGHT_EQSUB_RIGHT_GREATERSUB_RIGHT_GREATER_EQSUB_RIGHT_LESSSUB_RIGHT_LESS_EQSUB_RIGHT_SUBSUB_SUBSUC_ADD_SYMSUC_ELIM_NUMERALSSUC_ELIM_THMSUC_LTSUC_MINUS_NUMERALSUC_MODSUC_NOTSUC_NOT_ZEROSUC_ONE_ADDSUC_POSSUC_PRESUC_SUBSUC_SUB1SUM_SQUAREDTC_eq_NRCTIMES2TWOTWO_LE_EXPWLOG_LEWLOG_LTWOPWOP_measureX_LE_DIVX_LE_X_EXPX_LE_X_SQUAREDX_LT_DIVX_LT_EXP_XX_LT_EXP_X_IFFX_LT_X_SQUAREDX_MOD_Y_EQ_XZERO_DIVZERO_EXPZERO_LESS_ADDZERO_LESS_EQZERO_LESS_EXPZERO_LESS_MULTZERO_LT_EXPZERO_MODbinary_inductbool_to_bit_MOD_2bool_to_bit_neq_adddatatype_numfindq_divisorfindq_eq_0findq_thmnum_CASESnum_MAXnum_case_NUMERAL_computenum_case_computenum_case_congnum_case_defnum_case_eqnum_nchotomytransitive_LEtransitive_LESStransitive_measuretransitive_monotone

Definitions

ABS_DIFF_def
⊢ ∀n m. ABS_DIFF n m = if n < m then m − n else n − m
ADD
⊢ (∀n. 0 + n = n) ∧ ∀m n. SUC m + n = SUC (m + n)
ALT_ZERO
⊢ ZERO = 0
BIT1
⊢ ∀n. BIT1 n = n + (n + SUC 0)
BIT2
⊢ ∀n. BIT2 n = n + (n + SUC (SUC 0))
DIV2_def
⊢ ∀n. DIV2 n = n DIV 2
DIVMOD_DEF
⊢ DIVMOD =
  WFREC (measure (FST ∘ SND))
    (λf (a,m,n).
         if n = 0 then (0,0)
         else if m < n then (a,m)
         else (let q = findq (1,m,n) in f (a + q,m − n * q,n)))
DIV_def
⊢ ∀m n. m DIV n = if n = 0 then 0 else OT_DIV m n
EVEN
⊢ (EVEN 0 ⇔ T) ∧ ∀n. EVEN (SUC n) ⇔ ¬EVEN n
EXP
⊢ (∀m. m ** 0 = 1) ∧ ∀m n. m ** SUC n = m * m ** n
FACT
⊢ FACT 0 = 1 ∧ ∀n. FACT (SUC n) = SUC n * FACT n
FUNPOW
⊢ (∀f x. FUNPOW f 0 x = x) ∧ ∀f n x. FUNPOW f (SUC n) x = FUNPOW f n (f x)
GREATER_DEF
⊢ ∀m n. m > n ⇔ n < m
GREATER_OR_EQ
⊢ ∀m n. m ≥ n ⇔ m > n ∨ m = n
LESS_OR_EQ
⊢ ∀m n. m ≤ n ⇔ m < n ∨ m = n
MAX_DEF
⊢ ∀m n. MAX m n = if m < n then n else m
MIN_DEF
⊢ ∀m n. MIN m n = if m < n then m else n
MODEQ_DEF
⊢ ∀n m1 m2. MODEQ n m1 m2 ⇔ ∃a b. a * n + m1 = b * n + m2
MOD_def
⊢ ∀m n. m MOD n = if n = 0 then m else OT_MOD m n
MULT
⊢ (∀n. 0 * n = 0) ∧ ∀m n. SUC m * n = m * n + n
NRC
⊢ (∀R x y. NRC R 0 x y ⇔ x = y) ∧
  ∀R n x y. NRC R (SUC n) x y ⇔ ∃z. R x z ∧ NRC R n z y
NUMERAL_DEF
⊢ ∀x. NUMERAL x = x
ODD
⊢ (ODD 0 ⇔ F) ∧ ∀n. ODD (SUC n) ⇔ ¬ODD n
OT_DIVISION
⊢ ∀n. 0 < n ⇒ ∀k. k = OT_DIV k n * n + OT_MOD k n ∧ OT_MOD k n < n
SUB
⊢ (∀m. 0 − m = 0) ∧ ∀m n. SUC m − n = if m < n then 0 else SUC (m − n)
bool_to_bit_def
⊢ ∀b. bool_to_bit b = if b then 1 else 0
findq_def
⊢ findq =
  WFREC (measure (λ(a,m,n). m − n))
    (λf (a,m,n).
         if n = 0 then a
         else (let d = 2 * n in if m < d then a else f (2 * a,m,d)))
nat_elim__magic
⊢ ∀n. &n = n

Theorems

⊢ ∀n m p. ABS_DIFF (n + p) (m + p) = ABS_DIFF n m
⊢ ∀n m. ABS_DIFF n m = ABS_DIFF m n
⊢ ∀n. ABS_DIFF n n = 0
⊢ ∀n m. ABS_DIFF n m = 0 ⇔ n = m
⊢ ABS_DIFF x z ≤ x + z
⊢ ∀x z y. ABS_DIFF x (y + z) ≤ y + ABS_DIFF x z
⊢ ∀n m. ABS_DIFF (SUC n) (SUC m) = ABS_DIFF n m
⊢ ∀x z. ABS_DIFF x (SUC z) ≤ SUC (ABS_DIFF x z)
⊢ ∀n1 n2 m1 m2.
    ABS_DIFF (n1 + n2) (m1 + m2) ≤ ABS_DIFF n1 m1 + ABS_DIFF n2 m2
⊢ ∀n m. ABS_DIFF n m = ABS_DIFF m n
⊢ ∀x y z. ABS_DIFF x z ≤ ABS_DIFF x y + ABS_DIFF y z
⊢ ∀x y. x ≤ ABS_DIFF x y + y
⊢ ∀n. ABS_DIFF n 0 = n ∧ ABS_DIFF 0 n = n
⊢ ∀m. SUC m = m + 1
⊢ ∀m. m + 0 = m
⊢ ∀m n p. m + (n + p) = m + n + p
⊢ 0 + m = m ∧ m + 0 = m ∧ SUC m + n = SUC (m + n) ∧ m + SUC n = SUC (m + n)
⊢ ∀m n. m + n = n + m
⊢ ∀n. 0 < n ⇒ ∀x r. (x * n + r) DIV n = x + r DIV n
⊢ ∀n. 0 < n ⇒
      ∀m p. m MOD n = 0 ∨ p MOD n = 0 ⇒ (m + p) DIV n = m DIV n + p DIV n
⊢ ∀m n. m + n = 0 ⇔ m = 0 ∧ n = 0
⊢ ∀m n. m + n = 1 ⇔ m = 1 ∧ n = 0 ∨ m = 0 ∧ n = 1
⊢ ∀m n p. n ≤ p ⇒ (m + n = p ⇔ m = p − n)
⊢ ∀m n. m + n = m ⇒ n = 0
⊢ ∀m n. m + n = m ⇔ n = 0
⊢ ∀n a b p. 0 < n ⇒ ((a + p) MOD n = (b + p) MOD n ⇔ a MOD n = b MOD n)
⊢ (∀n x. (x + n) MOD n = x MOD n) ∧ ∀n x. (n + x) MOD n = x MOD n
⊢ ∀n x. (x + n) MOD n = x MOD n
⊢ ∀n x. (n + x) MOD n = x MOD n
⊢ ∀m n p. m + n ≤ m + p ⇔ n ≤ p
⊢ ∀a c. a + c − c = a
⊢ ∀m n. m + n − m = n
⊢ ∀m n. SUC (m + n) = m + SUC n
⊢ ∀m n. m + n = n + m
⊢ ∀c. 0 < c ⇒ ((∃n. n < c ∧ P n) ⇔ P (c − 1) ∨ ∃n. n < c − 1 ∧ P n)
⊢ ∀c. 0 < c ⇒ ((∀n. n < c ⇒ P n) ⇔ P (c − 1) ∧ ∀n. n < c − 1 ⇒ P n)
⊢ ∀p n m. p ≤ n ∧ p ≤ m ⇒ (n − p = m − p ⇔ n = m)
⊢ ∀k. 0 < k ⇒ ∀n. n \\ k = n DIV k + MIN (n MOD k) 1
⊢ ∀k m n. 0 < k ⇒ (n \\ k ≤ m ⇔ n ≤ m * k)
⊢ ∀k. 0 < k ⇒ ∀n. n = k * (n \\ k) − n %% k ∧ n %% k < k
⊢ ∀m n. m \\ n = (m + (n − 1)) DIV n
⊢ ∀m n. m %% n = (n − m MOD n) MOD n
⊢ ∀P. (∀n. (∀m. m < n ⇒ P m) ⇒ P n) ⇒ ∀n. P n
⊢ ∀k n. 0 < n ⇒ ∃r q. k = q * n + r ∧ r < n
⊢ ∀n. DIV2 (2 * n) = n
⊢ ∀n. 0 < n ⇒ ∀k. k = k DIV n * n + k MOD n ∧ k MOD n < n
⊢ (∀m n. 0 < n ⇒ m DIV n = FST (DIVMOD (0,m,n))) ∧
  ∀m n. 0 < n ⇒ m MOD n = SND (DIVMOD (0,m,n))
⊢ ∀m n a. 0 < n ⇒ DIVMOD (a,m,n) = (a + m DIV n,m MOD n)
⊢ ∀P m n.
    0 < n ⇒ (P (m DIV n) (m MOD n) ⇔ ∀q r. m = q * n + r ∧ r < n ⇒ P q r)
⊢ ∀P m n.
    0 < n ⇒ (P (m DIV n) (m MOD n) ⇔ ∃q r. m = q * n + r ∧ r < n ∧ P q r)
⊢ ∀n. 0 < n ⇒ n DIV n = 1 ∧ n MOD n = 0
⊢ DIVMOD (a,m,n) =
  if n = 0 then (0,0)
  else if m < n then (a,m)
  else (let q = findq (1,m,n) in DIVMOD (a + q,m − n * q,n))
⊢ ∀m n q r. m = q * n + r ∧ r < n ⇒ m DIV n = q ∧ m MOD n = r
⊢ k DIV 0 = 0 ∧ 0 DIV n = 0
⊢ ∀b n. 1 < b ∧ n DIV b = 0 ⇒ n < b
⊢ ∀q. q DIV 1 = q
⊢ ∀m n. 0 < m ∧ 0 < n ⇒ ∀x. x DIV m DIV n = x DIV (m * n)
⊢ 1 < b ⇒ (n DIV b = 0 ⇔ n < b)
⊢ ∀x y z. 0 < z ⇒ (y DIV z = x ⇔ x * z ≤ y ∧ y < SUC x * z)
⊢ ∀n. 0 < n ⇒ n DIV n = 1
⊢ ∀n d. 0 < n ∧ 1 < d ⇒ n DIV d < n
⊢ ∀n. 0 < n ⇒ ∀k. k DIV n ≤ k
⊢ ∀n x y. 0 < n ∧ x ≤ y ⇒ x DIV n ≤ y DIV n
⊢ ∀x y z. 0 < z ⇒ (y DIV z ≤ x ⇔ y < (x + 1) * z)
⊢ ∀x y z. 0 < z ⇒ (y DIV z < x ⇔ y < x * z)
⊢ ∀m n k. 0 < n ∧ 0 < k ⇒ m DIV n MOD k = m MOD (n * k) DIV n
⊢ ∀n r. r < n ⇒ ∀q. (q * n + r) DIV n = q
⊢ NUMERAL (BIT1 n) * x DIV NUMERAL (BIT1 n) = x ∧
  NUMERAL (BIT2 n) * x DIV NUMERAL (BIT2 n) = x ∧
  (NUMERAL (BIT1 n) * x + y) DIV NUMERAL (BIT1 n) =
  x + y DIV NUMERAL (BIT1 n) ∧
  (NUMERAL (BIT2 n) * x + y) DIV NUMERAL (BIT2 n) =
  x + y DIV NUMERAL (BIT2 n) ∧
  (y + NUMERAL (BIT1 n) * x) DIV NUMERAL (BIT1 n) =
  x + y DIV NUMERAL (BIT1 n) ∧
  (y + NUMERAL (BIT2 n) * x) DIV NUMERAL (BIT2 n) =
  x + y DIV NUMERAL (BIT2 n)
⊢ ∀q. q DIV SUC 0 = q
⊢ ∀P p q. 0 < q ⇒ (P (p DIV q) ⇔ ∃k r. p = k * q + r ∧ r < q ∧ P k)
⊢ ∀P m n. 0 < n ⇒ (P (m DIV n) ⇔ ∀q r. m = q * n + r ∧ r < n ⇒ P q)
⊢ 0 < n ∧ n * q ≤ m ⇒ (m − n * q) DIV n = m DIV n − q
⊢ ∀n k q. (∃r. k = q * n + r ∧ r < n) ⇒ k DIV n = q
⊢ ∀p q. 2 * p + 1 < 2 * q ⇔ p < q
⊢ ∀m n p. m + n = m + p ⇔ n = p
⊢ ∀m n p. m + p = n + p ⇔ m = n
⊢ ∀m n. m = n ⇔ m ≤ n ∧ n ≤ m
⊢ ∀m n p. m + p = n + p ⇔ m = n
⊢ ∀m n p. m * n = m * p ⇔ m = 0 ∨ n = p
⊢ ∀m n p. n * m = p * m ⇔ m = 0 ∨ n = p
⊢ ∀m n. EVEN (m + n) ⇔ (EVEN m ⇔ EVEN n)
⊢ ∀n. ¬(EVEN n ∧ ODD n)
⊢ ∀n. ¬EVEN n ⇒ SUC n DIV 2 = SUC ((n − 1) DIV 2)
⊢ ∀n. EVEN (2 * n)
⊢ ∀n. EVEN n ⇔ ∃m. n = 2 * m
⊢ ∀m n. 0 < n ∧ EVEN m ⇒ EVEN (m ** n)
⊢ ∀n m. EVEN (m ** n) ⇔ 0 < n ∧ EVEN m
⊢ ∀x. EVEN x ⇔ x MOD 2 = 0
⊢ ∀m n. EVEN (m * n) ⇔ EVEN m ∨ EVEN n
⊢ ∀n. EVEN n ⇔ ¬ODD n
⊢ ∀n. (EVEN n ⇒ ∃m. n = 2 * m) ∧ (ODD n ⇒ ∃m. n = SUC (2 * m))
⊢ ∀n. EVEN n ∨ ODD n
⊢ ∀m n. m ≤ n ⇒ (EVEN (n − m) ⇔ (EVEN n ⇔ EVEN m))
⊢ ∀P. (∃x. P x) ∧ (∃x. ∀y. y > x ⇒ ¬P y) ⇔ ∃x. P x ∧ ∀y. y > x ⇒ ¬P y
⊢ ∀P. (∃n. P n) ⇔ P 0 ∨ ∃m. P (SUC m)
⊢ ∀m. m ** 0 = 1
⊢ ∀m n. n DIV 2 < 2 ** m ⇔ n < 2 ** SUC m
⊢ ∀n. n ** 0 = 1
⊢ ∀n. 1 ** n = 1 ∧ n ** 1 = n
⊢ ∀n. n² = n * n
⊢ ∀p q n. n ** (p + q) = n ** p * n ** q
⊢ ∀b. 1 < b ⇒ ∀n. ∃m. n ≤ b ** m
⊢ ∀b. 1 < b ⇒ ∀n m. b ** n = b ** m ⇔ n = m
⊢ ∀n m b. 0 < b ∧ m ≤ n ⇒ b ** m ≤ b ** n
⊢ m ≤ n ⇒ SUC b ** m ≤ SUC b ** n
⊢ b ** m ≤ b ** n ⇔ b = 0 ∧ n = 0 ∨ b = 0 ∧ 0 < m ∨ b = 1 ∨ 1 < b ∧ m ≤ n
⊢ ∀b. 1 < b ⇒ ∀n m. b ** m ≤ b ** n ⇔ m ≤ n
⊢ ∀b. 1 < b ⇒ ∀n m. b ** m < b ** n ⇔ m < n
⊢ ∀z x y. (x * y) ** z = x ** z * y ** z
⊢ ∀n m. n ** m = 0 ⇔ n = 0 ∧ 0 < m
⊢ ∀n m. n ** m = 1 ⇔ n = 1 ∨ m = 0
⊢ ∀n m. n ** m = n ⇔ m = 1 ∨ n = 0 ∧ 0 < m ∨ n = 1
⊢ ∀b1 b2 x. b1 ** x = b2 ** x ⇔ x = 0 ∨ b1 = b2
⊢ ∀a b. a ** n ≤ b ** n ⇔ a ≤ b ∨ n = 0
⊢ ∀a b. a ** n < b ** n ⇔ a < b ∧ 0 < n
⊢ ∀z x y. x ** (y * z) = (x ** y) ** z
⊢ x ** y ≤ 1 ⇔ x ≤ 1 ∨ y = 0
⊢ m ** n < 1 ⇔ m = 0 ∧ 0 < n
⊢ (x MOD n) ** e MOD n = x ** e MOD n
⊢ ∀m n. m ≠ 0 ⇒ m ** n ≠ 0
⊢ ∀m n. 0 < m ⇒ 0 < m ** n
⊢ ∀p q n. 0 < n ∧ q ≤ p ⇒ n ** (p − q) = n ** p DIV n ** q
⊢ 0 < n ⇒
  n ** NUMERAL (BIT1 x) DIV n = n ** (NUMERAL (BIT1 x) − 1) ∧
  n ** NUMERAL (BIT2 x) DIV n = n ** NUMERAL (BIT1 x)
⊢ ∀n. 1 ≤ FACT n
⊢ ∀n. 0 < FACT n
⊢ ∀f. f = FACT ⇔ f 0 = 1 ∧ ∀n. f (SUC n) = SUC n * f n
⊢ ∀P. (∀n. P n) ⇔ P 0 ∧ ∀n. P (SUC n)
⊢ (∀n. P n) ⇔ P 0 ∧ ∀n. P n ⇒ P (SUC n)
⊢ FUNPOW f 0 x = x
⊢ FUNPOW f 1 x = f x
⊢ ∀f x. FUNPOW f 2 x = f (f x)
⊢ ∀m n. FUNPOW f (m + n) x = FUNPOW f m (FUNPOW f n x)
⊢ ∀f m n x. FUNPOW f m (FUNPOW f n x) = FUNPOW f n (FUNPOW f m x)
⊢ ∀n x f g.
    (∀m. m < n ⇒ f (FUNPOW f m x) = g (FUNPOW f m x)) ⇒
    FUNPOW f n x = FUNPOW g n x
⊢ ∀n x c. FUNPOW (K c) n x = if n = 0 then x else c
⊢ ∀f n x. FUNPOW f (SUC n) x = f (FUNPOW f n x)
⊢ ∀m x. P x ∧ (∀x. P x ⇒ P (f x)) ⇒ P (FUNPOW f m x)
⊢ ∀m x.
    P x ∧ (∀n. n < m ⇒ R (FUNPOW f n x)) ∧ (∀x. P x ∧ R x ⇒ P (f x)) ⇒
    P (FUNPOW f m x)
⊢ ∀n m. n ≥ m ⇔ m ≤ n
⊢ ∀n m. n ≥ m ⇔ m ≤ n
⊢ ∀m n. 0 < m ∧ 0 < n ⇒ (PRE m = PRE n ⇔ m = n)
⊢ ∀m. 0 < m ⇒ ∀n. PRE m < PRE n ⇔ m < n
⊢ ∀n. 0 < n ⇒ ∀m. PRE m ≤ PRE n ⇔ m ≤ n
⊢ (∀n. n ≤ 0 ⇔ n = 0) ∧ ∀m n. m ≤ SUC n ⇔ m = SUC n ∨ m ≤ n
⊢ ∀m n p. p * (m + n) = p * m + p * n
⊢ ∀m n p. p * (m − n) = p * m − p * n
⊢ ∀m. 0 = m ∨ 0 < m
⊢ ∀m n. n < m ⇒ ∃p. p + n = m
⊢ ∀m n. n < m ⇒ ∃p. m = n + (p + 1)
⊢ ∀m n. n ≠ 0 ⇒ m < m + n
⊢ ∀m n. m < m + SUC n
⊢ ∀m n. ¬(m < n ∧ n < m)
⊢ ∀m n. m < n ∨ n ≤ m
⊢ ∀m n. ¬(m < n) ∧ m ≠ n ⇒ n < m
⊢ ∀r n. r < n ⇒ r DIV n = 0
⊢ ∀m n. m < n ⇔ SUC m ≤ n
⊢ ∀m n. m ≤ n ⇒ ∃p. n = m + p
⊢ ∀n m. n ≤ m ∧ m ≤ n ⇒ n = m
⊢ ∀m n. m ≤ n ⇒ ∃k. m = n − k
⊢ ∀n. n ≤ 0 ⇔ n = 0
⊢ ∀m n. m ≤ m + n
⊢ ∀m n. n ≤ m ⇒ ∃p. p + n = m
⊢ ∀c b. c ≤ b ⇒ ∀a. a + b − c = a + (b − c)
⊢ ∀m n. ¬(m < n ∧ n ≤ m)
⊢ ∀m n. m ≤ n ∨ n ≤ m
⊢ ∀m n. m ≤ n ⇔ ∃p. n = m + p
⊢ ∀n m. n ≤ m ⇔ n < SUC m
⊢ ∀n m. n ≤ m ⇒ n < SUC m
⊢ ∀m n p q. m ≤ p ∧ n ≤ q ⇒ m + n ≤ p + q
⊢ ∀m n p. m ≤ n ∧ n < p ⇒ m < p
⊢ ∀n m. SUC n ≤ SUC m ⇔ n ≤ m
⊢ ∀m n p. m + p ≤ n + p ⇔ m ≤ n
⊢ ∀m. m ≤ m
⊢ ∀a b. b ≤ a ⇒ ∀c. a − b < c ⇔ a < b + c
⊢ ∀m. m ≤ SUC m
⊢ ∀m n p. m ≤ n ∧ n ≤ p ⇒ m ≤ p
⊢ ∀n m. SUC (SUC m) ** n < SUC (SUC m) ** SUC n
⊢ ∀n m. n < m ⇒ ∀p. n < m + p
⊢ ∀m n. m < n ⇒ m ≤ n
⊢ ∀m n. m = n ∨ m < n ∨ n < m
⊢ ∀m n p. m < n ∧ n ≤ p ⇒ m < p
⊢ ∀m n. ¬(m < n ∧ n < SUC m)
⊢ ∀n k. k < n ⇒ k MOD n = k
⊢ ∀m n p. m < n ⇒ m + p < n + p
⊢ ∀m n p. m + p < n + p ⇔ m < n
⊢ ∀m n p. m + p < n + p ⇒ m < n
⊢ ∀m n. SUC m < SUC n ⇔ m < n
⊢ ∀m n p. m ≤ n ⇒ m * p ≤ n * p
⊢ ∀m n i j. m ≤ i ∧ n ≤ j ⇒ m * n ≤ i * j
⊢ ∀m n. SUC m < SUC n ⇒ m < n
⊢ ∀m n. 0 < m ∧ 0 < n ⇒ 0 < m * n
⊢ ∀m i n. SUC n * m < SUC n * i ⇔ m < i
⊢ ∀m n. m < n ∧ n ≠ SUC m ⇒ SUC m < n
⊢ ∀m n. m < n ⇒ SUC m ≤ n
⊢ ∀n m. n < m ∨ ∃p. n = p + m
⊢ $<= = (λx y. y = SUC x)꙳
⊢ ∀m n. n < m ⇒ ∃p. SUC p + n = m
⊢ ∀n m i. i < n − m ⇒ i + m < n
⊢ ∀m n. m < n ∧ SUC m ≠ n ⇒ SUC m < n
⊢ ∀m n. m < n ⇒ ¬(n < SUC m)
⊢ ∀m n p. m < n ∧ n < p ⇒ m < p
⊢ ∀m n. ¬(m ≤ n ∧ n < m)
⊢ ∀m n p. m ≤ n ∧ n < p ⇒ m < p
⊢ ∀n. 0 ≤ n
⊢ ∀m n. m ≤ m + n
⊢ ∀m n p. m + n ≤ m + p ⇔ n ≤ p
⊢ ∀m n p. n + m ≤ p + m ⇔ n ≤ p
⊢ ∀m n. m ≤ n ∧ n ≤ m ⇔ m = n
⊢ ∀m n. m ≤ n ∨ n ≤ m
⊢ ∀m n. m ≤ n ⇔ ∃p. n = m + p
⊢ ∀m n. m ≤ n ⇔ m < n ∨ m = n
⊢ ∀x y. x ≤ y ⇔ x < y + 1
⊢ (m ≤ m * n ⇔ m = 0 ∨ 0 < n) ∧ (m ≤ n * m ⇔ m = 0 ∨ 0 < n)
⊢ (m * n ≤ m ⇔ m = 0 ∨ n ≤ 1) ∧ (m * n ≤ n ⇔ n = 0 ∨ m ≤ 1)
⊢ ∀k. 0 < k ⇒ ∀n. n ≤ k * (n \\ k)
⊢ ∀m n p. m * n ≤ m * p ⇔ m = 0 ∨ n ≤ p
⊢ ∀m n p. m * n ≤ p * n ⇔ n = 0 ∨ m ≤ p
⊢ ∀m. m ≤ m
⊢ ∀z y x. x − y ≤ x − z ⇔ z ≤ y ∨ x ≤ y
⊢ ∀m n p. n − m ≤ p − m ⇔ n ≤ m ∨ n ≤ p
⊢ ∀m n p. m ≤ n ∧ n ≤ p ⇒ m ≤ p
⊢ (∀m. m < 0 ⇔ F) ∧ ∀m n. m < SUC n ⇔ m = n ∨ m < n
⊢ x < 1 ⇔ x = 0
⊢ ∀m n. ¬(m < n ∧ n ≤ m)
⊢ ∀m n. m < n ∨ n ≤ m
⊢ ∀m n p. m < n ∧ n ≤ p ⇒ m < p
⊢ ∀m n p. p + m < p + n ⇔ m < n
⊢ ∀m n p. m + p < n + p ⇔ m < n
⊢ ∀m n. m < n ∨ n < m ∨ m = n
⊢ ∀m n. m < n ⇔ ∃d. n = m + SUC d
⊢ ∀m n. m < n ⇒ m ≤ n
⊢ ∀m n. m < n ⇔ m ≤ n ∧ m ≠ n
⊢ (m < m * n ⇔ 0 < m ∧ 1 < n) ∧ (m < n * m ⇔ 0 < m ∧ 1 < n)
⊢ (m * n < m ⇔ 0 < m ∧ n = 0) ∧ (m * n < n ⇔ 0 < n ∧ m = 0)
⊢ ∀m n p. m * n < m * p ⇔ 0 < m ∧ n < p
⊢ ∀m n p. m * n < p * n ⇔ 0 < n ∧ m < p
⊢ ∀z y x. x − y < x − z ⇔ z < y ∧ z < x
⊢ ∀m n p. n − m < p − m ⇔ n < p ∧ m < p
⊢ n < SUC m ⇔ n = 0 ∨ ∃n0. n = SUC n0 ∧ n0 < m
⊢ ∀m n. m < SUC n ⇔ m ≤ n
⊢ ∀n. MAX n 0 = n ∧ MAX 0 n = n
⊢ ∀m n. MAX m n = if m ≤ n then n else m
⊢ ∀m n p. MAX m (MAX n p) = MAX (MAX m n) p
⊢ ∀m n. MAX n m = n ∨ MAX n m = m
⊢ ∀m n. MAX m n = MAX n m
⊢ MAX m n = 0 ⇔ m = 0 ∧ n = 0
⊢ (b ≤ a ⇒ MAX a b = a) ∧ (a ≤ b ⇒ MAX a b = b)
⊢ ∀n. MAX n n = n
⊢ ∀n m p. (p ≤ MAX m n ⇔ p ≤ m ∨ p ≤ n) ∧ (MAX m n ≤ p ⇔ m ≤ p ∧ n ≤ p)
⊢ ∀n m p. (p < MAX m n ⇔ p < m ∨ p < n) ∧ (MAX m n < p ⇔ m < p ∧ n < p)
⊢ ∀n. MIN n 0 = 0 ∧ MIN 0 n = 0
⊢ ∀m n. MIN m n = if m ≤ n then m else n
⊢ ∀m n p. MIN m (MIN n p) = MIN (MIN m n) p
⊢ ∀m n. MIN n m = n ∨ MIN n m = m
⊢ ∀m n. MIN m n = MIN n m
⊢ MIN m n = 0 ⇔ m = 0 ∨ n = 0
⊢ (a ≤ b ⇒ MIN a b = a) ∧ (b ≤ a ⇒ MIN a b = b)
⊢ ∀n. MIN n n = n
⊢ ∀n m p. (MIN m n ≤ p ⇔ m ≤ p ∨ n ≤ p) ∧ (p ≤ MIN m n ⇔ p ≤ m ∧ p ≤ n)
⊢ ∀n m p. (MIN m n < p ⇔ m < p ∨ n < p) ∧ (p < MIN m n ⇔ p < m ∧ p < n)
⊢ ∀m n. MIN m n = MAX m n ⇔ m = n
⊢ ∀m n. MIN m n ≤ MAX m n
⊢ ∀m n. MIN m n < MAX m n ⇔ m ≠ n
⊢ ∀P m n. P m ∧ P n ⇒ P (MIN m n) ∧ P (MAX m n)
⊢ 0 < n ⇒ MODEQ n n 0
⊢ MODEQ 0 m1 m2 ⇔ m1 = m2
⊢ MODEQ n x y ⇒ MODEQ n (x ** e) (y ** e)
⊢ 0 < n ⇒ MODEQ n e0 e1 ⇒ e0 MOD n = e1 MOD n
⊢ 0 < n ⇒ MODEQ n (x MOD n) x
⊢ MODEQ n x0 x1 ⇒ MODEQ n y0 y1 ⇒ MODEQ n (x0 * y0) (x1 * y1)
⊢ 0 < n ⇒ (MODEQ n m1 m2 ⇔ m1 MOD n = m2 MOD n)
⊢ (NUMERAL n ≤ NUMERAL m ⇒
   MODEQ (NUMERAL (BIT1 n)) (NUMERAL (BIT1 m))
     (NUMERAL (BIT1 m) MOD NUMERAL (BIT1 n))) ∧
  (NUMERAL n ≤ NUMERAL m ⇒
   MODEQ (NUMERAL (BIT1 n)) (NUMERAL (BIT2 m))
     (NUMERAL (BIT2 m) MOD NUMERAL (BIT1 n))) ∧
  (NUMERAL n ≤ NUMERAL m ⇒
   MODEQ (NUMERAL (BIT2 n)) (NUMERAL (BIT2 m))
     (NUMERAL (BIT2 m) MOD NUMERAL (BIT2 n))) ∧
  (NUMERAL n < NUMERAL m ⇒
   MODEQ (NUMERAL (BIT2 n)) (NUMERAL (BIT1 m))
     (NUMERAL (BIT1 m) MOD NUMERAL (BIT2 n)))
⊢ MODEQ n x0 x1 ⇒ MODEQ n y0 y1 ⇒ MODEQ n (x0 + y0) (x1 + y1)
⊢ ∀x. MODEQ n x x
⊢ MODEQ n x y ⇒ MODEQ n (SUC x) (SUC y)
⊢ MODEQ n x y ⇔ MODEQ n y x
⊢ MODEQ n m1 m2 ⇔ n = 0 ∧ m1 = m2 ∨ 0 < n ∧ m1 MOD n = m2 MOD n
⊢ ∀x y z. MODEQ n x y ∧ MODEQ n y z ⇒ MODEQ n x z
⊢ k MOD 0 = k ∧ 0 MOD n = 0
⊢ ∀k. k MOD 1 = 0
⊢ ∀n. n MOD 2 = if EVEN n then 0 else 1
⊢ ∀n x y z.
    0 < n ∧ x < n ∧ y < n ∧ z < n ⇒
    ((x + y) MOD n + z) MOD n = (x + (y + z) MOD n) MOD n
⊢ ∀n x. 0 < n ∧ x < n ⇒ ((n − x) MOD n + x) MOD n = 0
⊢ ∀n p q. 0 < n ∧ 0 < q ⇒ n * (p MOD q) = n * p MOD (n * q)
⊢ 0 < y ⇒ x MOD y DIV y = 0
⊢ ∀P x n. 0 < n ∧ P x ∧ (∀y. P (y + n) ⇒ P y) ⇒ P (x MOD n)
⊢ ∀n. 0 < n ⇒ ∀a b. a MOD n = b ⇔ ∃c. a = c * n + b ∧ b < n
⊢ ∀n. 0 < n ⇒ ∀k. k * n MOD n = 0
⊢ 0 < n ⇒ (k MOD n = 0 ⇔ ∃d. k = d * n)
⊢ ∀m n. n < m ⇒ (n MOD m = 0 ⇔ n = 0)
⊢ ∀n a m. (a MOD n) ** m MOD n = a ** m MOD n
⊢ ∀n. n MOD n = 0
⊢ ∀m n. 0 < n ⇒ m MOD n < n
⊢ 0 < y ⇒ x MOD y ≤ x
⊢ 0 < n ∧ k < n − x MOD n ⇒ (x + k) MOD n = x MOD n + k
⊢ 0 < n ⇒ ((x + k) MOD n = x MOD n + k ⇔ k < n − x MOD n)
⊢ ∀n k. k MOD n MOD n = k MOD n
⊢ 0 < y ∧ y ≤ z ⇒ x MOD y MOD z = x MOD y
⊢ ∀n r. r < n ⇒ ∀q. (q * n + r) MOD n = r
⊢ ∀n k. 0 < n ∧ k MOD n = 0 ⇒ ∀x. k * x MOD n = 0
⊢ ∀n x y z.
    0 < n ∧ x < n ∧ y < n ∧ z < n ⇒
    x * y MOD n * z MOD n = x * (y * z MOD n) MOD n
⊢ ∀m n. 0 < n ∧ 0 < m ⇒ ∀x. x MOD (n * m) MOD n = x MOD n
⊢ ∀k. k MOD SUC 0 = 0
⊢ ∀P p q. 0 < q ⇒ (P (p MOD q) ⇔ ∃k r. p = k * q + r ∧ r < q ∧ P r)
⊢ ∀n j k. (j MOD n + k MOD n) MOD n = (j + k) MOD n
⊢ ∀n. 0 < n ⇒
      ∀x y z. (x + y + z) MOD n = (x MOD n + y MOD n + z MOD n) MOD n
⊢ ∀P m n. 0 < n ⇒ (P (m MOD n) ⇔ ∀q r. m = q * n + r ∧ r < n ⇒ P r)
⊢ 0 < n ∧ n * q ≤ m ⇒ (m − n * q) MOD n = m MOD n
⊢ 0 < y ∧ SUC x ≠ SUC (x DIV y) * y ⇒ SUC x MOD y = SUC (x MOD y)
⊢ 0 < y ⇒ (SUC x MOD y = SUC (x MOD y) ⇔ SUC x ≠ SUC (x DIV y) * y)
⊢ ∀n q r. (q * n + r) MOD n = r MOD n
⊢ ∀n j k. j MOD n * (k MOD n) MOD n = j * k MOD n
⊢ ∀n q r. 0 < n ∧ 0 < q ∧ r ≤ n ⇒ (q * n − r) MOD n = (n − r) MOD n
⊢ ∀n k r. (∃q. k = q * n + r ∧ r < n) ⇒ k MOD n = r
⊢ ∀m. m * 0 = 0
⊢ ∀m n p. m * (n * p) = m * n * p
⊢ ∀m n p. m * (n * p) = m * p * n
⊢ ∀m n.
    0 * m = 0 ∧ m * 0 = 0 ∧ 1 * m = m ∧ m * 1 = m ∧ SUC m * n = m * n + n ∧
    m * SUC n = m + m * n
⊢ ∀m n. m * n = n * m
⊢ ∀m n p. m * (n * p) = n * (m * p)
⊢ ∀n q. 0 < n ⇒ q * n DIV n = q
⊢ ∀n. 2 * n DIV 2 = n
⊢ ∀m n. m * n = 0 ⇔ m = 0 ∨ n = 0
⊢ ∀x y. x * y = 1 ⇔ x = 1 ∧ y = 1
⊢ 0 < x ⇒ (x * y = z ⇔ y = z DIV x ∧ z MOD x = 0)
⊢ ∀m n. (m * n = n ⇔ m = 1 ∨ n = 0) ∧ (n * m = n ⇔ m = 1 ∨ n = 0)
⊢ ∀n. 0 < n ⇒ ∀m. n * m = n ⇔ m = 1
⊢ ∀p q n m. n * SUC q ** p = m * SUC q ** p ⇔ n = m
⊢ ∀m n. 1 < m ∧ 0 < n ⇒ SUC n ≤ m * n
⊢ ∀m. 1 * m = m
⊢ ∀m n p. p * n = p * m ⇔ p = 0 ∨ n = m
⊢ ∀n. 0 < n ⇒ ∀m. m * n = n ⇔ m = 1
⊢ ∀m n p. m ≤ n ⇔ SUC p * m ≤ SUC p * n
⊢ ∀m i n. SUC n * m = SUC n * i ⇔ m = i
⊢ ∀m n. 0 < m ∧ 0 < n ⇒ 0 < m * n
⊢ ∀m. m * 1 = m
⊢ ∀m n p. n * p = m * p ⇔ p = 0 ∨ n = m
⊢ ∀n. 0 < n ⇒ ∀m. n * m = n ⇔ m = 1
⊢ ∀m n. m * SUC n = m + m * n
⊢ ∀p m n. n * SUC p = m * SUC p ⇔ n = m
⊢ ∀m n. m * n = n * m
⊢ ∀m n. 0 < n ⇒ n * m DIV n = m
⊢ 0 = 0
⊢ ∀m n. SUC n ** m ≠ 0
⊢ ∀m n. ¬(m > n) ⇔ m ≤ n
⊢ ∀m n. ¬(m ≥ n) ⇔ SUC m ≤ n
⊢ ∀m n. ¬(m ≤ n) ⇔ n < m
⊢ ∀m n. ¬(m ≤ n) ⇔ SUC n ≤ m
⊢ ∀m n. ¬(m < n) ⇔ n ≤ m
⊢ ∀m n. ¬(m ≤ n) ⇔ n < m
⊢ ∀m n. ¬(m < n) ⇔ n ≤ m
⊢ ∀n. ¬(0 < n) ⇔ n = 0
⊢ ∀m n. m ≠ n ⇔ SUC m ≤ n ∨ SUC n ≤ m
⊢ ∀n m. SUC (n + n) ≠ m + m
⊢ ∀f. ¬∀n. f (SUC n) < f n
⊢ ∀m n. ¬(SUC (m + n) ≤ m)
⊢ ∀n m. ¬(SUC n ≤ m) ⇔ m ≤ n
⊢ ∀n. ¬(SUC n ≤ 0)
⊢ ∀n. n ≠ 0 ⇔ 0 < n
⊢ ∀n. n ≠ 0 ⇔ 0 < n
⊢ ∀R x y. NRC R 0 x y ⇔ x = y
⊢ NRC R 1 x y ⇔ R x y
⊢ ∀m n x z. NRC R (m + n) x z ⇒ ∃y. NRC R m x y ∧ NRC R n y z
⊢ NRC R (m + n) x z ⇔ ∃y. NRC R m x y ∧ NRC R n y z
⊢ ∀m n x y z. NRC R m x y ∧ NRC R n y z ⇒ NRC R (m + n) x z
⊢ ∀n x y. NRC R n x y ⇒ R꙳ x y
⊢ NRC R (SUC n) x y ⇔ ∃z. NRC R n x z ∧ R z y
⊢ (NUMERAL (BIT1 x) * y = NUMERAL z ⇔
   y = NUMERAL z DIV NUMERAL (BIT1 x) ∧ NUMERAL z MOD NUMERAL (BIT1 x) = 0) ∧
  (NUMERAL (BIT2 x) * y = NUMERAL z ⇔
   y = NUMERAL z DIV NUMERAL (BIT2 x) ∧ NUMERAL z MOD NUMERAL (BIT2 x) = 0)
⊢ ∀p q n. n ** (p + q) = n ** p * n ** q
⊢ ∀m n. ODD (m + n) ⇔ (ODD m ⇎ ODD n)
⊢ ∀n. ODD (SUC (2 * n))
⊢ ∀n. ODD n ⇔ ¬EVEN n
⊢ ∀n. ODD n ⇔ ∃m. n = SUC (2 * m)
⊢ ∀m n. 0 < n ∧ ODD m ⇒ ODD (m ** n)
⊢ ∀n m. ODD (m ** n) ⇔ n = 0 ∨ ODD m
⊢ ∀m n. ODD (m * n) ⇔ ODD m ∧ ODD n
⊢ ∀n. ∃m. n = SUC (SUC 0) * m ∨ n = SUC (SUC 0) * m + 1
⊢ ∀n. ODD n ⇒ 0 < n
⊢ ∀m n. m ≤ n ⇒ (ODD (n − m) ⇔ (ODD n ⇎ ODD m))
⊢ (ODD (bool_to_bit b) ⇔ b) ∧ (ODD (1 − bool_to_bit b) ⇔ ¬b)
⊢ 1 = SUC 0
⊢ 1 ≤ x ** y ⇔ 0 < x ∨ y = 0
⊢ ∀x y. 1 < x ** y ⇔ 1 < x ∧ 0 < y
⊢ ∀x y. 1 < x * y ⇔ 0 < x ∧ 1 < y ∨ 0 < y ∧ 1 < x
⊢ ∀p q. 1 < p ∧ 0 < q ⇒ 1 < p * q
⊢ 1 < n ⇒ 1 MOD n = 1
⊢ 1 < n ⇔ 0 < n ∧ 1 MOD n = 1
⊢ ONE_ONE f ⇒ ∀b. ∃a. ∀x. f x ≤ b ⇒ x ≤ a
⊢ ∀f. ONE_ONE f ⇒ ∀b. ∃n. b < f n
⊢ ∀m n. SUC m ≤ n ⇒ m < n
⊢ P (PRE n) ⇔ ∀m. (n = 0 ⇒ P 0) ∧ (n = SUC m ⇒ P m)
⊢ P (PRE n) ⇔ ∀m. n = SUC m ∨ m = 0 ∧ n = 0 ⇒ P m
⊢ P (PRE n) ⇔ ∃m. (n = SUC m ∨ m = 0 ∧ n = 0) ∧ P m
⊢ ∀n. m ≤ n ⇒ PRE m ≤ PRE n
⊢ ∀m n. PRE (m − n) = PRE m − n
⊢ ∀m. PRE m = m − 1
⊢ ∀m n. 0 < n ⇒ (m = PRE n ⇔ SUC m = n)
⊢ ∀m n p. (m + n) * p = m * p + n * p
⊢ ∀m n p. (m − n) * p = m * p − n * p
⊢ ∀x y. R꙳ x y ⇒ ∃n. NRC R n x y
⊢ ∀R x y. R꙳ x y ⇔ ∃n. NRC R n x y
⊢ ∀f. (∀n. f n < f (SUC n)) ⇒ ONE_ONE f
⊢ ∀f. (∀n. f n < f (SUC n)) ⇒ ∀m n. m < n ⇒ f m < f n
⊢ ∀f. (∀n. f n < f (SUC n)) ⇒ ∀b. ∃n. b < f n
⊢ ∀m. 0 − m = 0 ∧ m − 0 = m
⊢ ∀m n. n ≤ m ⇒ m − n + n = m
⊢ ∀p n m. n ≤ p ∧ m ≤ p ⇒ (p − n = p − m ⇔ n = m)
⊢ P (a − b) ⇔ ∀d. (b = a + d ⇒ P 0) ∧ (a = b + d ⇒ P d)
⊢ P (a − b) ⇔ ∀d. a = b + d ∨ a < b ∧ d = 0 ⇒ P d
⊢ P (a − b) ⇔ (∃d. b = a + d ∧ P 0) ∨ ∃d. a = b + d ∧ P d
⊢ P (a − b) ⇔ ∃d. (a = b + d ∨ a < b ∧ d = 0) ∧ P d
⊢ ∀c. c − c = 0
⊢ ∀m n. m − n = 0 ⇔ m ≤ n
⊢ ∀m n. m − n = m ⇔ m = 0 ∨ n = 0
⊢ ∀m n p. m + (n − p) = if n ≤ p then m else m + n − p
⊢ ∀m n p. m = n − p ⇔ m + p = n ∨ m ≤ 0 ∧ n ≤ p
⊢ ∀m n p. m > n − p ⇔ m + p > n ∧ m > 0
⊢ ∀m n p. m ≥ n − p ⇔ m + p ≥ n
⊢ ∀m n p. m < n − p ⇔ m + p < n
⊢ ∀m n p. m ≤ n − p ⇔ m + p ≤ n ∨ m ≤ 0
⊢ ∀m n p. m − (n − p) = if n ≤ p then m else m + p − n
⊢ ∀m n. SUC (m − n) = if m ≤ n then SUC 0 else SUC m − n
⊢ ∀m n. 0 < n ∧ n ≤ m ⇒ m − n < m
⊢ ∀n m. m < n ⇔ 0 < n − m
⊢ ∀n m. n − m ≤ n
⊢ ∀m p. m ≤ p ⇒ ∀n. p − m ≤ n ⇔ p ≤ m + n
⊢ ∀m n. n < m ⇒ n ≤ m − 1
⊢ ∀m n. 0 < m ⇒ (n ≤ m − 1 ⇔ n < m)
⊢ ∀p m. p − m < SUC p
⊢ ∀m n. 0 < n ∧ n ≤ m ⇒ (m − n) MOD n = m MOD n
⊢ ∀n m. SUC n − SUC m = n − m
⊢ ∀a b c. a − (b + c) = a − b − c
⊢ ∀m n p. m − n + p = if m ≤ n then p else m + p − n
⊢ ∀m n p. m − n = p ⇔ m = n + p ∨ m ≤ n ∧ p ≤ 0
⊢ ∀m n p. m − n > p ⇔ m > n + p
⊢ ∀m n p. m − n ≥ p ⇔ m ≥ n + p ∨ 0 ≥ p
⊢ ∀m n p. m − n < p ⇔ m < n + p ∧ 0 < p
⊢ ∀m n p. m − n ≤ p ⇔ m ≤ n + p
⊢ ∀m n p. m − n − p = m − (n + p)
⊢ ∀b c. c ≤ b ⇒ ∀a. a − (b − c) = a + c − b
⊢ ∀m n. SUC (m + n) = SUC n + m
⊢ ∀f g.
    (∀n. g (SUC n) = f n (SUC n)) ⇔
    (∀n. g (NUMERAL (BIT1 n)) = f (NUMERAL (BIT1 n) − 1) (NUMERAL (BIT1 n))) ∧
    ∀n. g (NUMERAL (BIT2 n)) = f (NUMERAL (BIT1 n)) (NUMERAL (BIT2 n))
⊢ ∀P. (∀n. P (SUC n) n) ⇔ ∀n. 0 < n ⇒ P n (n − 1)
⊢ SUC n < m ⇔ ∃m0. m = SUC m0 ∧ n < m0
⊢ SUC n − NUMERAL (BIT1 m) = n − (NUMERAL (BIT1 m) − 1) ∧
  SUC n − NUMERAL (BIT2 m) = n − NUMERAL (BIT1 m)
⊢ ∀n a b. 0 < n ⇒ (SUC a MOD n = SUC b MOD n ⇔ a MOD n = b MOD n)
⊢ ∀n. 0 ≠ SUC n
⊢ ∀n. SUC n ≠ 0
⊢ ∀n. SUC n = 1 + n
⊢ ∀n. 0 < SUC n
⊢ 0 < m ⇔ SUC (PRE m) = m
⊢ ∀a. SUC a − a = 1
⊢ ∀m. SUC m − 1 = m
⊢ (x + y)² = x² + 2 * x * y + y²
⊢ ∀R x y. R⁺ x y ⇔ ∃n. NRC R (SUC n) x y
⊢ ∀n. 2 * n = n + n
⊢ 2 = SUC 1
⊢ ∀x y. 2 ≤ x ** y ⇔ 1 < x ∧ 0 < y
⊢ (∀m n. P m n ⇔ P n m) ∧ (∀m n. m ≤ n ⇒ P m n) ⇒ ∀m n. P m n
⊢ (∀m. P m m) ∧ (∀m n. P m n ⇔ P n m) ∧ (∀m n. m < n ⇒ P m n) ⇒ ∀m y. P m y
⊢ ∀P. (∃n. P n) ⇒ ∃n. P n ∧ ∀m. m < n ⇒ ¬P m
⊢ ∀P m. (∃a. P a) ⇒ ∃b. P b ∧ ∀c. P c ⇒ m b ≤ m c
⊢ ∀x y z. 0 < z ⇒ (x ≤ y DIV z ⇔ x * z ≤ y)
⊢ 0 < n ⇒ x ≤ x ** n
⊢ x ≤ x²
⊢ ∀x y z. 0 < z ⇒ (x < y DIV z ⇔ (x + 1) * z ≤ y)
⊢ 1 < b ⇒ x < b ** x
⊢ x < b ** x ⇔ 1 < b ∨ x = 0
⊢ x < x² ⇔ 1 < x
⊢ ∀x y. 0 < y ⇒ (x MOD y = x ⇔ x < y)
⊢ ∀n. 0 < n ⇒ 0 DIV n = 0
⊢ 0 ** x = if x = 0 then 1 else 0
⊢ ∀m n. 0 < m + n ⇔ 0 < m ∨ 0 < n
⊢ ∀n. 0 ≤ n
⊢ ∀m n. 0 < SUC n ** m
⊢ ∀m n. 0 < m * n ⇔ 0 < m ∧ 0 < n
⊢ 0 < x ** y ⇔ 0 < x ∨ y = 0
⊢ ∀n. 0 < n ⇒ 0 MOD n = 0
⊢ ∀P. P 0 ∧ (∀n. P n ⇒ P (2 * n) ∧ P (2 * n + 1)) ⇒ ∀n. P n
⊢ bool_to_bit x MOD 2 = bool_to_bit x
⊢ bool_to_bit (x ⇎ y) = (bool_to_bit x + bool_to_bit y) MOD 2
⊢ DATATYPE (num 0 SUC)
⊢ n ≤ m ⇒ findq (a,m,n) * n ≤ a * m
⊢ ∀a m n. findq (a,m,n) = 0 ⇔ a = 0
⊢ findq (a,m,n) =
  if n = 0 then a
  else (let d = 2 * n in if m < d then a else findq (2 * a,m,d))
⊢ ∀m. m = 0 ∨ ∃n. m = SUC n
⊢ ∀P. (∃x. P x) ∧ (∃M. ∀x. P x ⇒ x ≤ M) ⇔ ∃m. P m ∧ ∀x. P x ⇒ x ≤ m
⊢ num_CASE (NUMERAL (BIT1 n)) z s = s (NUMERAL (BIT1 n) − 1) ∧
  num_CASE (NUMERAL (BIT2 n)) z s = s (NUMERAL (BIT1 n))
⊢ ∀n. num_CASE n f g = if n = 0 then f else g (PRE n)
⊢ ∀M M' v f.
    M = M' ∧ (M' = 0 ⇒ v = v') ∧ (∀n. M' = SUC n ⇒ f n = f' n) ⇒
    num_CASE M v f = num_CASE M' v' f'
⊢ (∀v f. num_CASE 0 v f = v) ∧ ∀n v f. num_CASE (SUC n) v f = f n
⊢ num_CASE n zc sc = v ⇔ n = 0 ∧ zc = v ∨ ∃x. n = SUC x ∧ sc x = v
⊢ ∀m n. m = n ∨ m < n ∨ n < m
⊢ transitive $<=
⊢ transitive $<
⊢ ∀f. transitive (measure f)
⊢ ∀R f.
    transitive R ∧ (∀n. R (f n) (f (SUC n))) ⇒ ∀m n. m < n ⇒ R (f m) (f n)