Entry Value
Name set_of_list_nub
Conclusion !l. set_of_list (nub l) = set_of_list l
Constructive Proof No
Axiom
!t. t \/ ~t 
(\a. a = (\b. (\c. c) = (\c. c))) (\d. (\e. d e) = d) 
(\a. a = (\b. (\c. c) = (\c. c)))
(\d. (\e. e = (\f. (\c. c) = (\c. c)))
     (\g. (\h i.
               (\j k.
                    (\l. l j k) =
                    (\m. m ((\c. c) = (\c. c)) ((\c. c) = (\c. c))))
               h
               i <=>
               h)
          (d g)
          (d ((@) d))))
Classical Lemmas
  • !t. (t <=> T) \/ (t <=> F)
  • !l x. MEM x (nub l) <=> MEM x l
  • !l x. MEM x (setify l) <=> MEM x l
  • Constructive Lemmas
  • T
  • !x h t. MEM x (CONS h t) <=> x = h \/ MEM x t
  • !x y s. x IN y INSERT s <=> x = y \/ x IN s
  • !t1 t2. (if F then t1 else t2) = t2
  • !t1 t2. (if T then t1 else t2) = t1
  • !x y. x = y <=> y = x
  • !x y. x = y ==> y = x
  • !h t. REVERSE (CONS h t) = APPEND (REVERSE t) [h]
  • !h t. setify (CONS h t) = (if MEM h t then setify t else CONS h (setify t))
  • !h t. set_of_list (CONS h t) = h INSERT set_of_list t
  • !x s t. x INSERT s UNION t = x INSERT (s UNION t)
  • !x s. x INSERT s = {y | y = x \/ y IN s}
  • !x s. {x} UNION s = x INSERT s
  • !x. ~(x IN {})
  • !x. ~MEM x []
  • !x. x = x
  • !x. (@y. y = x) = x
  • !p1 p2 q1 q2. (p1 ==> p2) /\ (q1 ==> q2) ==> p1 /\ q1 ==> p2 /\ q2
  • !p1 p2 q1 q2. (p1 ==> p2) /\ (q1 ==> q2) ==> p1 \/ q1 ==> p2 \/ q2
  • !t1 t2 t3. (t1 \/ t2) \/ t3 <=> t1 \/ t2 \/ t3
  • !t1 t2. t1 \/ t2 <=> t2 \/ t1
  • !t. (!x. t) <=> t
  • !t. F /\ t <=> F
  • !t. T /\ t <=> t
  • !t. t /\ F <=> F
  • !t. t /\ T <=> t
  • !t. t /\ t <=> t
  • !t. (F <=> t) <=> ~t
  • !t. (T <=> t) <=> t
  • !t. (t <=> F) <=> ~t
  • !t. (t <=> T) <=> t
  • !t. F ==> t <=> T
  • !t. T ==> t <=> t
  • !t. t ==> F <=> ~t
  • !t. t ==> T <=> T
  • !t. F \/ t <=> t
  • !t. T \/ t <=> T
  • !t. t \/ F <=> t
  • !t. t \/ T <=> T
  • !t. t \/ t <=> t
  • !t. t ==> t
  • !t. (t <=> T) \/ (t <=> F)
  • !f y. (\x. f x) y = f y
  • !f g. (!x. f x = g x) <=> f = g
  • !f g. (!x. f x = g x) ==> f = g
  • !t. (\x. t x) = t
  • !p a. (?x. a = x /\ p x) <=> p a
  • !p x. x IN GSPEC p <=> p x
  • !p x. x IN {y | p y} <=> p x
  • !p x. p x ==> p ((@) p)
  • !p q. (!x. p x ==> q x) ==> (?x. p x) ==> (?x. q x)
  • !p. (!x y. p x y) <=> (!y x. p x y)
  • !p. p [] /\ (!h t. p t ==> p (CONS h t)) ==> (!l. p l)
  • !l h t. APPEND (CONS h t) l = CONS h (APPEND t l)
  • !l x. MEM x l <=> x IN set_of_list l
  • !l x. MEM x (REVERSE l) <=> MEM x l
  • !l x. MEM x (nub l) <=> MEM x l
  • !l x. MEM x (setify l) <=> MEM x l
  • !l1 l2. set_of_list (APPEND l1 l2) = set_of_list l1 UNION set_of_list l2
  • !l. nub l = REVERSE (setify (REVERSE l))
  • !l. APPEND [] l = l
  • !l. set_of_list (REVERSE l) = set_of_list l
  • !s t x. x IN s UNION t <=> x IN s \/ x IN t
  • !s t u. (s UNION t) UNION u = s UNION t UNION u
  • !s t. (!x. x IN s <=> x IN t) <=> s = t
  • !s t. s UNION t = {x | x IN s \/ x IN t}
  • !s t. s UNION t = t UNION s
  • !s t. (!x. x IN s <=> x IN t) ==> s = t
  • !s. {} UNION s = s
  • !s. s UNION {} = s
  • F <=> (!p. p)
  • T <=> (\p. p) = (\p. p)
  • ~F <=> T
  • ~T <=> F
  • (~) = (\p. p ==> F)
  • COND = (\t t1 t2. @x. ((t <=> T) ==> x = t1) /\ ((t <=> F) ==> x = t2))
  • (/\) = (\p q. (\f. f p q) = (\f. f T T))
  • (==>) = (\p q. p /\ q <=> p)
  • (\/) = (\p q. !r. (p ==> r) ==> (q ==> r) ==> r)
  • (!) = (\p. p = (\x. T))
  • (?) = (\p. !q. (!x. p x ==> q) ==> q)
  • (?) = (\p. p ((@) p))
  • REVERSE [] = []
  • setify [] = []
  • {} = {x | F}
  • set_of_list [] = {}
  • Contained Package list-nub-thm
    Comment Standard HOL library retrieved from OpenTheory
    Back to main package pageBack to contained package page