]> matita.cs.unibo.it Git - helm.git/blob - matitaB/matita/contribs/ng_TPTP/ROB020-2.ma
New management of justifications.
[helm.git] / matitaB / matita / contribs / ng_TPTP / ROB020-2.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: ROB020-2.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : ROB020-2 : TPTP v3.7.0. Bugfixed v3.1.0. *)
8
9 (*  Domain   : Robbins Algebra *)
10
11 (*  Problem  : -(a + -b)=b => Exists idempotent element *)
12
13 (*  Version  : [Win90] (equality) axioms. *)
14
15 (*             Theorem formulation : Denies Huntington's axiom, double  *)
16
17 (*             negation, and idempotence. *)
18
19 (*  English  : If there exist a, b such that -(a + -b) = b, the algebra  *)
20
21 (*             is Boolean. *)
22
23 (*  Refs     : [HMT71] Henkin et al. (1971), Cylindrical Algebras *)
24
25 (*           : [Win90] Winker (1990), Robbins Algebra: Conditions that make a *)
26
27 (*  Source   : [Win90] *)
28
29 (*  Names    : Corollary 3.10 [Win90] *)
30
31 (*  Status   : Unknown *)
32
33 (*  Rating   : 1.00 v3.1.0 *)
34
35 (*  Syntax   : Number of clauses     :    5 (   0 non-Horn;   5 unit;   2 RR) *)
36
37 (*             Number of atoms       :    5 (   5 equality) *)
38
39 (*             Maximal clause size   :    1 (   1 average) *)
40
41 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
42
43 (*             Number of functors    :    4 (   2 constant; 0-2 arity) *)
44
45 (*             Number of variables   :    8 (   0 singleton) *)
46
47 (*             Maximal term depth    :    6 (   2 average) *)
48
49 (*  Comments : Commutativity, associativity, and Huntington's axiom  *)
50
51 (*             axiomatize Boolean algebra. *)
52
53 (*  Bugfixes : v3.1.0 - Removed extra negated_conjecture clauses. *)
54
55 (* -------------------------------------------------------------------------- *)
56
57 (* ----Include axioms for Robbins algebra  *)
58
59 (* Inclusion of: Axioms/ROB001-0.ax *)
60
61 (* -------------------------------------------------------------------------- *)
62
63 (*  File     : ROB001-0 : TPTP v3.7.0. Released v1.0.0. *)
64
65 (*  Domain   : Robbins algebra *)
66
67 (*  Axioms   : Robbins algebra axioms *)
68
69 (*  Version  : [Win90] (equality) axioms. *)
70
71 (*  English  :  *)
72
73 (*  Refs     : [HMT71] Henkin et al. (1971), Cylindrical Algebras *)
74
75 (*           : [Win90] Winker (1990), Robbins Algebra: Conditions that make a *)
76
77 (*  Source   : [OTTER] *)
78
79 (*  Names    : Lemma 2.2 [Win90] *)
80
81 (*  Status   :  *)
82
83 (*  Syntax   : Number of clauses    :    3 (   0 non-Horn;   3 unit;   0 RR) *)
84
85 (*             Number of atoms      :    3 (   3 equality) *)
86
87 (*             Maximal clause size  :    1 (   1 average) *)
88
89 (*             Number of predicates :    1 (   0 propositional; 2-2 arity) *)
90
91 (*             Number of functors   :    2 (   0 constant; 1-2 arity) *)
92
93 (*             Number of variables  :    7 (   0 singleton) *)
94
95 (*             Maximal term depth   :    6 (   3 average) *)
96
97 (*  Comments :  *)
98
99 (* -------------------------------------------------------------------------- *)
100
101 (* -------------------------------------------------------------------------- *)
102
103 (* -------------------------------------------------------------------------- *)
104 ntheorem prove_idempotence:
105  (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
106 ∀a:Univ.
107 ∀add:∀_:Univ.∀_:Univ.Univ.
108 ∀b:Univ.
109 ∀negate:∀_:Univ.Univ.
110 ∀H0:eq Univ (negate (add a (negate b))) b.
111 ∀H1:∀X:Univ.∀Y:Univ.eq Univ (negate (add (negate (add X Y)) (negate (add X (negate Y))))) X.
112 ∀H2:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add (add X Y) Z) (add X (add Y Z)).
113 ∀H3:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).∃X:Univ.eq Univ (add X X) X)
114 .
115 #Univ ##.
116 #X ##.
117 #Y ##.
118 #Z ##.
119 #a ##.
120 #add ##.
121 #b ##.
122 #negate ##.
123 #H0 ##.
124 #H1 ##.
125 #H2 ##.
126 #H3 ##.
127 napply (ex_intro ? ? ? ?) ##[
128 ##2:
129 nauto by H0,H1,H2,H3 ##;
130 ##| ##skip ##]
131 ntry (nassumption) ##;
132 nqed.
133
134 (* -------------------------------------------------------------------------- *)