Package relation-natural-thm: Properties of relations over natural numbers
Information
name | relation-natural-thm |
version | 1.44 |
description | Properties of relations over natural numbers |
author | Joe Leslie-Hurd <joe@gilith.com> |
license | HOLLight |
provenance | HOL Light theory exported on 2019-10-31 |
checksum | 39cd05bb1255d3a37faad824a78d1f928e14c597 |
requires | bool function natural relation-def relation-natural-def relation-thm relation-well-founded set |
show | Data.Bool Function Number.Natural Relation Set |
Files
- Package tarball relation-natural-thm-1.44.tgz
- Theory source file relation-natural-thm.thy (included in the package tarball)
Theorems
⊦ irreflexive isSuc
⊦ transitive (<)
⊦ wellFounded (<)
⊦ wellFounded isSuc
⊦ subrelation isSuc (<)
⊦ transitiveClosure isSuc = (<)
⊦ ∀m. wellFounded (measure m)
⊦ ∀r. subrelation isSuc r ∧ transitive r ⇒ subrelation (<) r
⊦ ∀r. wellFounded r ⇔ ¬∃f. ∀n. r (f (suc n)) (f n)
⊦ ∀p g h. ∃f. ∀x. f x = if p x then f (g x) else h x
⊦ ∀m a b. (∀y. measure m y a ⇒ measure m y b) ⇔ m a ≤ m b
⊦ ∀s. infinite s ⇔ ∃f. (∀x. f x ∈ s) ∧ ∀x y. f x = f y ⇒ x = y
⊦ ∀r.
(∀x y z. r x y ∧ r y z ⇒ r x z) ⇒
(wellFounded r ⇔ ¬∃s. ∀i j. i < j ⇒ r (s j) (s i))
⊦ ∀r.
wellFounded r ⇒
∀h.
(∀f g x. (∀z. r z x ⇒ f z = g z) ⇒ h f x = h g x) ⇒
∃f. ∀x. f x = h f x
⊦ ∀r.
wellFounded r ⇒
∀h.
(∀f g x. (∀z. r z x ⇒ f z = g z) ⇒ h f x = h g x) ⇒
∃!f. ∀x. f x = h f x
⊦ ∀r.
(∀h.
(∀f g x. (∀z. r z x ⇒ f z = g z) ⇒ h f x = h g x) ⇒
∃f. ∀x. f x = h f x) ⇒ wellFounded r
⊦ ∀r.
(∀x. ¬r x x) ∧ (∀x y z. r x y ∧ r y z ⇒ r x z) ∧
(∀x. finite { y. y | r y x }) ⇒ wellFounded r
⊦ ∀r.
wellFounded r ⇒
∀h s.
(∀f g x.
(∀z. r z x ⇒ f z = g z ∧ s z (f z)) ⇒
h f x = h g x ∧ s x (h f x)) ⇒ ∃f. ∀x. f x = h f x
⊦ ∀r.
wellFounded r ⇒
∀h.
(∀f g x. (∀z. r z x ⇒ f z = g z) ⇒ h f x = h g x) ⇒
∀f g. (∀x. f x = h f x) ∧ (∀x. g x = h g x) ⇒ f = g
⊦ ∀r.
(∀h.
(∀f g x. (∀z. r z x ⇒ (f z ⇔ g z)) ⇒ (h f x ⇔ h g x)) ⇒
∀f g. (∀x. f x ⇔ h f x) ∧ (∀x. g x ⇔ h g x) ⇒ f = g) ⇒ wellFounded r
⊦ ∀r bad.
wellFounded r ∧
(∀x. ¬bad x ⇒ ∃n. ∀y. (∀k. k < n ⇒ y k = x k) ⇒ ¬bad y) ∧ (∃x. bad x) ⇒
∃y. bad y ∧ ∀z n. bad z ∧ (∀k. k < n ⇒ z k = y k) ⇒ ¬r (z n) (y n)
⊦ ∀r.
wellFounded r ⇒
∀p.
(∀f g x y. (∀z. r z x ⇒ f z = g z) ⇒ (p f x y ⇔ p g x y)) ∧
(∀f x. (∀z. r z x ⇒ p f z (f z)) ⇒ ∃y. p f x y) ⇒ ∃f. ∀x. p f x (f x)
External Type Operators
- →
- bool
- Number
- Natural
- natural
- Natural
- Set
- set
External Constants
- =
- select
- Data
- Bool
- ∀
- ∧
- ⇒
- ∃
- ∃!
- ∨
- ¬
- cond
- ⊥
- ⊤
- Bool
- Function
- id
- Number
- Natural
- +
- <
- ≤
- isSuc
- suc
- zero
- Natural
- Relation
- bigIntersect
- irreflexive
- measure
- subrelation
- transitive
- transitiveClosure
- wellFounded
- Set
- ∅
- \
- finite
- fromPredicate
- image
- infinite
- insert
- ∈
- ⊆
- universe
Assumptions
⊦ ⊤
⊦ infinite universe
⊦ ¬⊥ ⇔ ⊤
⊦ ¬⊤ ⇔ ⊥
⊦ ∀x. x ∈ universe
⊦ ∀t. t ⇒ t
⊦ ⊥ ⇔ ∀p. p
⊦ ∀x. id x = x
⊦ ∀t. t ∨ ¬t
⊦ ∀m. ¬(m < 0)
⊦ ∀n. ¬(n < n)
⊦ ∀n. 0 < suc n
⊦ ∀n. n < suc n
⊦ (¬) = λp. p ⇒ ⊥
⊦ (∃) = λp. p ((select) p)
⊦ ∀t. (∀x. t) ⇔ t
⊦ ∀t. (∃x. t) ⇔ t
⊦ ∀t. (λx. t x) = t
⊦ (∀) = λp. p = λx. ⊤
⊦ ∀t. ¬¬t ⇔ t
⊦ ∀t. (⊤ ⇔ t) ⇔ t
⊦ ∀t. (t ⇔ ⊤) ⇔ t
⊦ ∀t. ⊥ ∧ t ⇔ ⊥
⊦ ∀t. ⊤ ∧ t ⇔ t
⊦ ∀t. t ∧ ⊥ ⇔ ⊥
⊦ ∀t. t ∧ ⊤ ⇔ t
⊦ ∀t. ⊥ ⇒ t ⇔ ⊤
⊦ ∀t. ⊤ ⇒ t ⇔ t
⊦ ∀t. t ⇒ ⊤ ⇔ ⊤
⊦ ∀t. ⊥ ∨ t ⇔ t
⊦ ∀t. ⊤ ∨ t ⇔ ⊤
⊦ ∀t. t ∨ ⊥ ⇔ t
⊦ ∀t. t ∨ ⊤ ⇔ ⊤
⊦ ∀m. m + 0 = m
⊦ ∀r. wellFounded r ⇒ irreflexive r
⊦ ∀t. (⊥ ⇔ t) ⇔ ¬t
⊦ ∀t. t ⇒ ⊥ ⇔ ¬t
⊦ ∀s. infinite s ⇔ ¬finite s
⊦ (⇒) = λp q. p ∧ q ⇔ p
⊦ ∀t. (t ⇔ ⊤) ∨ (t ⇔ ⊥)
⊦ ∀s. infinite s ⇒ ¬(s = ∅)
⊦ ∀t1 t2. (if ⊥ then t1 else t2) = t2
⊦ ∀t1 t2. (if ⊤ then t1 else t2) = t1
⊦ ∀p x. p x ⇒ p ((select) p)
⊦ ∀f y. (let x ← y in f x) = f y
⊦ ∀x y. x = y ⇔ y = x
⊦ ∀t1 t2. t1 ∧ t2 ⇔ t2 ∧ t1
⊦ ∀t1 t2. t1 ∨ t2 ⇔ t2 ∨ t1
⊦ ∀s x. finite (insert x s) ⇔ finite s
⊦ ∀f s. finite s ⇒ finite (image f s)
⊦ ∀m n. isSuc m n ⇔ suc m = n
⊦ ∀m n. ¬(m ≤ n) ⇔ n < m
⊦ ∀m. m = 0 ∨ ∃n. m = suc n
⊦ ∀s. (∃x. x ∈ s) ⇔ ¬(s = ∅)
⊦ (∧) = λp q. (λf. f p q) = λf. f ⊤ ⊤
⊦ ∀p. ¬(∀x. p x) ⇔ ∃x. ¬p x
⊦ ∀p. ¬(∃x. p x) ⇔ ∀x. ¬p x
⊦ (∃) = λp. ∀q. (∀x. p x ⇒ q) ⇒ q
⊦ ∀t1 t2. ¬(t1 ⇒ t2) ⇔ t1 ∧ ¬t2
⊦ ∀m n. m + suc n = suc (m + n)
⊦ ∀m n. suc m < suc n ⇔ m < n
⊦ ∀s t. finite t ∧ s ⊆ t ⇒ finite s
⊦ ∀s t. infinite s ∧ s ⊆ t ⇒ infinite t
⊦ ∀r s. subrelation r s ∧ wellFounded s ⇒ wellFounded r
⊦ ∀n. finite { m. m | m < n }
⊦ ∀t1 t2. ¬(t1 ∧ t2) ⇔ ¬t1 ∨ ¬t2
⊦ ∀s t. infinite s ∧ finite t ⇒ infinite (s \ t)
⊦ ∀r m. wellFounded r ⇒ wellFounded (λx y. r (m x) (m y))
⊦ ∀f g. (∀x. f x = g x) ⇔ f = g
⊦ (∨) = λp q. ∀r. (p ⇒ r) ⇒ (q ⇒ r) ⇒ r
⊦ ∀m n. m < n ∨ n < m ∨ m = n
⊦ ∀r s.
subrelation r s ∧ transitive s ⇒ subrelation (transitiveClosure r) s
⊦ ∀r s. subrelation r s ∧ subrelation s r ⇒ r = s
⊦ ∀m n. m < n ⇔ ∃d. n = m + suc d
⊦ ∀m x y. measure m x y ⇔ m x < m y
⊦ ∀p q. (∀x. p ∨ q x) ⇔ p ∨ ∀x. q x
⊦ ∀p q. (∃x. p ∧ q x) ⇔ p ∧ ∃x. q x
⊦ ∀p q. p ∧ (∀x. q x) ⇔ ∀x. p ∧ q x
⊦ ∀p q. p ∧ (∃x. q x) ⇔ ∃x. p ∧ q x
⊦ ∀p q. p ∨ (∀x. q x) ⇔ ∀x. p ∨ q x
⊦ ∀p q. p ∨ (∃x. q x) ⇔ ∃x. p ∨ q x
⊦ ∀m n. m < suc n ⇔ m = n ∨ m < n
⊦ ∀p q. (∀x. p x ∨ q) ⇔ (∀x. p x) ∨ q
⊦ ∀p q. (∀x. p x) ∧ q ⇔ ∀x. p x ∧ q
⊦ ∀p q. (∃x. p x) ∧ q ⇔ ∃x. p x ∧ q
⊦ ∀p q. (∃x. p x) ⇒ q ⇔ ∀x. p x ⇒ q
⊦ ∀p q. (∀x. p x) ∨ q ⇔ ∀x. p x ∨ q
⊦ ∀p q. (∃x. p x) ∨ q ⇔ ∃x. p x ∨ q
⊦ ∀p q r. p ⇒ q ⇒ r ⇔ p ∧ q ⇒ r
⊦ ∀t1 t2 t3. (t1 ∧ t2) ∧ t3 ⇔ t1 ∧ t2 ∧ t3
⊦ ∀t1 t2 t3. (t1 ∨ t2) ∨ t3 ⇔ t1 ∨ t2 ∨ t3
⊦ ∀m n p. m < n ∧ n < p ⇒ m < p
⊦ ∀m n p. m < n ∧ n ≤ p ⇒ m < p
⊦ ∀s t. s ⊆ t ⇔ ∀x. x ∈ s ⇒ x ∈ t
⊦ ∀p x. (∀y. p y ⇔ y = x) ⇒ (select) p = x
⊦ ∀r. (∀x. ∃y. r x y) ⇔ ∃f. ∀x. r x (f x)
⊦ ∀p. p 0 ∧ (∀n. p n ⇒ p (suc n)) ⇒ ∀n. p n
⊦ ∀r s. subrelation r (bigIntersect s) ⇔ ∀t. t ∈ s ⇒ subrelation r t
⊦ ∀p x. x ∈ { y. y | p y } ⇔ p x
⊦ ∀r s. subrelation r s ⇔ ∀x y. r x y ⇒ s x y
⊦ ∀x y s. x ∈ insert y s ⇔ x = y ∨ x ∈ s
⊦ (∃!) = λp. (∃) p ∧ ∀x y. p x ∧ p y ⇒ x = y
⊦ ∀p. (∀n. (∀m. m < n ⇒ p m) ⇒ p n) ⇒ ∀n. p n
⊦ ∀s t x. x ∈ s \ t ⇔ x ∈ s ∧ ¬(x ∈ t)
⊦ ∀p q. (∀x. p x ∧ q x) ⇔ (∀x. p x) ∧ ∀x. q x
⊦ ∀p q. (∃x. p x ∨ q x) ⇔ (∃x. p x) ∨ ∃x. q x
⊦ ∀p q. (∀x. p x ⇒ q x) ⇒ (∀x. p x) ⇒ ∀x. q x
⊦ ∀p q. (∀x. p x ⇒ q x) ⇒ (∃x. p x) ⇒ ∃x. q x
⊦ ∀p q. (∃x. p x) ∨ (∃x. q x) ⇔ ∃x. p x ∨ q x
⊦ ∀r.
transitiveClosure r =
bigIntersect { s. s | subrelation r s ∧ transitive s }
⊦ ∀e f. ∃!fn. fn 0 = e ∧ ∀n. fn (suc n) = f (fn n) n
⊦ ∀p. (∃n. p n) ⇔ ∃n. p n ∧ ∀m. m < n ⇒ ¬p m
⊦ ∀y s f. y ∈ image f s ⇔ ∃x. y = f x ∧ x ∈ s
⊦ ∀r. transitive r ⇔ ∀x y z. r x y ∧ r y z ⇒ r x z
⊦ ∀p1 p2 q1 q2. (p1 ⇒ p2) ∧ (q1 ⇒ q2) ⇒ p1 ∧ q1 ⇒ p2 ∧ q2
⊦ ∀p1 p2 q1 q2. (p2 ⇒ p1) ∧ (q1 ⇒ q2) ⇒ (p1 ⇒ q1) ⇒ p2 ⇒ q2
⊦ ∀p c x y. p (if c then x else y) ⇔ (c ⇒ p x) ∧ (¬c ⇒ p y)
⊦ ∀r. wellFounded r ⇔ ∀p. (∀x. (∀y. r y x ⇒ p y) ⇒ p x) ⇒ ∀x. p x
⊦ ∀p f s. (∀y. y ∈ image f s ⇒ p y) ⇔ ∀x. x ∈ s ⇒ p (f x)
⊦ ∀r. wellFounded r ⇔ ∀p. (∃x. p x) ⇒ ∃x. p x ∧ ∀y. r y x ⇒ ¬p y
⊦ ∀f s.
infinite s ∧ (∀x y. x ∈ s ∧ y ∈ s ∧ f x = f y ⇒ x = y) ⇒
infinite (image f s)