Theory prim_rec

Parents

Contents

Type operators

(none)

Constants

Definitions

LESS_DEFPRE_DEFPRIM_RECPRIM_REC_FUNSIMP_RECSIMP_REC_RELmeasure_defnum_case_defwellfounded_def

Theorems

DCEQ_LESSINV_SUC_EQLESS_0LESS_0_0LESS_ALTLESS_LEMMA1LESS_LEMMA2LESS_MONOLESS_MONO_EQLESS_MONO_REVLESS_NOT_EQLESS_REFLLESS_SUCLESS_SUC_IMPLESS_SUC_REFLLESS_SUC_SUCLESS_THMNOT_LESS_0NOT_LESS_EQPREPRIM_REC_EQNPRIM_REC_THMRTC_IM_TCSIMP_REC_EXISTSSIMP_REC_REL_UNIQUESIMP_REC_REL_UNIQUE_RESULTSIMP_REC_THMSUC_IDSUC_LESSTC_IM_RTC_SUCWF_IFF_WELLFOUNDEDWF_LESSWF_PREDWF_measuremeasure_thmnum_Axiomnum_Axiom_old

Definitions

LESS_DEF
⊢ ∀m n. m < n ⇔ ∃P. (∀n. P (SUC n) ⇒ P n) ∧ P m ∧ ¬P n
PRE_DEF
⊢ ∀m. PRE m = if m = 0 then 0 else @n. m = SUC n
PRIM_REC
⊢ ∀x f m. PRIM_REC x f m = PRIM_REC_FUN x f m (PRE m)
PRIM_REC_FUN
⊢ ∀x f. PRIM_REC_FUN x f = SIMP_REC (λn. x) (λfun n. f (fun (PRE n)) n)
SIMP_REC
⊢ ∀x f' n. ∃g. SIMP_REC_REL g x f' (SUC n) ∧ SIMP_REC x f' n = g n
SIMP_REC_REL
⊢ ∀fun x f n.
    SIMP_REC_REL fun x f n ⇔
    fun 0 = x ∧ ∀m. m < n ⇒ fun (SUC m) = f (fun m)
measure_def
⊢ measure = inv_image $<
num_case_def
⊢ (∀v f. num_CASE 0 v f = v) ∧ ∀n v f. num_CASE (SUC n) v f = f n
wellfounded_def
⊢ ∀R. Wellfounded R ⇔ ¬∃f. ∀n. R (f (SUC n)) (f n)

Theorems

⊢ ∀P R a.
    P a ∧ (∀x. P x ⇒ ∃y. P y ∧ R x y) ⇒
    ∃f. f 0 = a ∧ ∀n. P (f n) ∧ R (f n) (f (SUC n))
⊢ ∀n. SUC m = n ⇒ m < n
⊢ ∀m n. SUC m = SUC n ⇔ m = n
⊢ ∀n. 0 < SUC n
⊢ 0 < SUC 0
⊢ $< = (λx y. y = SUC x)⁺
⊢ ∀m n. m < SUC n ⇒ m = n ∨ m < n
⊢ ∀m n. m = n ∨ m < n ⇒ m < SUC n
⊢ ∀m n. m < n ⇒ SUC m < SUC n
⊢ ∀m n. SUC m < SUC n ⇔ m < n
⊢ ∀m n. SUC m < SUC n ⇒ m < n
⊢ ∀m n. m < n ⇒ m ≠ n
⊢ ∀n. ¬(n < n)
⊢ ∀m n. m < n ⇒ m < SUC n
⊢ ∀m n. m < SUC n ⇒ m ≠ n ⇒ m < n
⊢ ∀n. n < SUC n
⊢ ∀m. m < SUC m ∧ m < SUC (SUC m)
⊢ ∀m n. m < SUC n ⇔ m = n ∨ m < n
⊢ ∀n. ¬(n < 0)
⊢ ∀m n. m = n ⇒ ¬(m < n)
⊢ PRE 0 = 0 ∧ ∀m. PRE (SUC m) = m
⊢ ∀x f.
    (∀n. PRIM_REC_FUN x f 0 n = x) ∧
    ∀m n. PRIM_REC_FUN x f (SUC m) n = f (PRIM_REC_FUN x f m (PRE n)) n
⊢ ∀x f.
    PRIM_REC x f 0 = x ∧ ∀m. PRIM_REC x f (SUC m) = f (PRIM_REC x f m) m
⊢ ∀m n. (λx y. y = f x)꙳ (f m) n ⇔ (λx y. y = f x)⁺ m n
⊢ ∀x f n. ∃fun. SIMP_REC_REL fun x f n
⊢ ∀x f g1 g2 m1 m2.
    SIMP_REC_REL g1 x f m1 ∧ SIMP_REC_REL g2 x f m2 ⇒
    ∀n. n < m1 ∧ n < m2 ⇒ g1 n = g2 n
⊢ ∀x f n. ∃!y. ∃g. SIMP_REC_REL g x f (SUC n) ∧ y = g n
⊢ ∀x f. SIMP_REC x f 0 = x ∧ ∀m. SIMP_REC x f (SUC m) = f (SIMP_REC x f m)
⊢ ∀n. SUC n ≠ n
⊢ ∀m n. SUC m < n ⇒ m < n
⊢ ∀m n. (λx y. y = SUC x)⁺ m (SUC n) ⇔ (λx y. y = SUC x)꙳ m n
⊢ ∀R. WF R ⇔ Wellfounded R
⊢ WF $<
⊢ WF (λx y. y = SUC x)
⊢ ∀m. WF (measure m)
⊢ ∀f x y. measure f x y ⇔ f x < f y
⊢ ∀e f. ∃fn. fn 0 = e ∧ ∀n. fn (SUC n) = f n (fn n)
⊢ ∀e f. ∃!fn1. fn1 0 = e ∧ ∀n. fn1 (SUC n) = f (fn1 n) n