]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/TPTP/HEQ/ROB006-3.ma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / TPTP / HEQ / ROB006-3.ma
1 set "baseuri" "cic:/matita/TPTP/ROB006-3".
2 include "logic/equality.ma".
3
4 (* Inclusion of: ROB006-3.p *)
5
6 (* -------------------------------------------------------------------------- *)
7
8 (*  File     : ROB006-3 : TPTP v3.2.0. Released v1.0.0. *)
9
10 (*  Domain   : Robbins Algebra *)
11
12 (*  Problem  : c + d=d => Boolean *)
13
14 (*  Version  : [Win90] (equality) axioms : Augmented. *)
15
16 (*             Theorem formulation : Denies Huntington's axiom. *)
17
18 (*  English  : If there are elements c and d such that c+d=d, then the  *)
19
20 (*             algebra is Boolean. *)
21
22 (*  Refs     : [HMT71] Henkin et al. (1971), Cylindrical Algebras *)
23
24 (*           : [Win90] Winker (1990), Robbins Algebra: Conditions that make a *)
25
26 (*           : [Wos92] Wos (1992), An Opportunity to Test Your Skills, and th *)
27
28 (*  Source   : [Wos92] *)
29
30 (*  Names    : Theorem 1.1 [Win90] *)
31
32 (*  Status   : Unsatisfiable *)
33
34 (*  Rating   : 0.86 v3.1.0, 1.00 v2.0.0 *)
35
36 (*  Syntax   : Number of clauses     :   13 (   0 non-Horn;   8 unit;   8 RR) *)
37
38 (*             Number of atoms       :   19 (  14 equality) *)
39
40 (*             Maximal clause size   :    3 (   1 average) *)
41
42 (*             Number of predicates  :    2 (   0 propositional; 1-2 arity) *)
43
44 (*             Number of functors    :    9 (   5 constant; 0-2 arity) *)
45
46 (*             Number of variables   :   19 (   0 singleton) *)
47
48 (*             Maximal term depth    :    8 (   3 average) *)
49
50 (*  Comments : Commutativity, associativity, and Huntington's axiom  *)
51
52 (*             axiomatize Boolean algebra. *)
53
54 (*           : The extra lemmas are suggested by Winker (1990). *)
55
56 (* -------------------------------------------------------------------------- *)
57
58 (* ----Include axioms for Robbins algebra  *)
59
60 (* Inclusion of: Axioms/ROB001-0.ax *)
61
62 (* -------------------------------------------------------------------------- *)
63
64 (*  File     : ROB001-0 : TPTP v3.2.0. Released v1.0.0. *)
65
66 (*  Domain   : Robbins algebra *)
67
68 (*  Axioms   : Robbins algebra axioms *)
69
70 (*  Version  : [Win90] (equality) axioms. *)
71
72 (*  English  :  *)
73
74 (*  Refs     : [HMT71] Henkin et al. (1971), Cylindrical Algebras *)
75
76 (*           : [Win90] Winker (1990), Robbins Algebra: Conditions that make a *)
77
78 (*  Source   : [OTTER] *)
79
80 (*  Names    : Lemma 2.2 [Win90] *)
81
82 (*  Status   :  *)
83
84 (*  Syntax   : Number of clauses    :    3 (   0 non-Horn;   3 unit;   0 RR) *)
85
86 (*             Number of literals   :    3 (   3 equality) *)
87
88 (*             Maximal clause size  :    1 (   1 average) *)
89
90 (*             Number of predicates :    1 (   0 propositional; 2-2 arity) *)
91
92 (*             Number of functors   :    2 (   0 constant; 1-2 arity) *)
93
94 (*             Number of variables  :    7 (   0 singleton) *)
95
96 (*             Maximal term depth   :    6 (   3 average) *)
97
98 (*  Comments :  *)
99
100 (* -------------------------------------------------------------------------- *)
101
102 (* -------------------------------------------------------------------------- *)
103
104 (* ----Include axioms for Robbins algebra numbers  *)
105
106 (* Inclusion of: Axioms/ROB001-1.ax *)
107
108 (* -------------------------------------------------------------------------- *)
109
110 (*  File     : ROB001-1 : TPTP v3.2.0. Released v1.0.0. *)
111
112 (*  Domain   : Robbins Algebra *)
113
114 (*  Axioms   : Robbins algebra numbers axioms *)
115
116 (*  Version  : [Win90] (equality) axioms. *)
117
118 (*  English  :  *)
119
120 (*  Refs     : [HMT71] Henkin et al. (1971), Cylindrical Algebras *)
121
122 (*           : [Win90] Winker (1990), Robbins Algebra: Conditions that make a *)
123
124 (*  Source   : [Win90] *)
125
126 (*  Names    :  *)
127
128 (*  Status   :  *)
129
130 (*  Syntax   : Number of clauses    :    4 (   0 non-Horn;   2 unit;   2 RR) *)
131
132 (*             Number of literals   :    6 (   2 equality) *)
133
134 (*             Maximal clause size  :    2 (   2 average) *)
135
136 (*             Number of predicates :    2 (   0 propositional; 1-2 arity) *)
137
138 (*             Number of functors   :    4 (   1 constant; 0-2 arity) *)
139
140 (*             Number of variables  :    4 (   0 singleton) *)
141
142 (*             Maximal term depth   :    3 (   2 average) *)
143
144 (*  Comments : Requires ROB001-0.ax *)
145
146 (* -------------------------------------------------------------------------- *)
147
148 (* -------------------------------------------------------------------------- *)
149
150 (* -------------------------------------------------------------------------- *)
151
152 (* ----The following are extra lemmas  *)
153
154 (* ----Hypothesis of the theorem  *)
155 theorem prove_huntingtons_axiom:
156  ∀Univ:Set.∀V:Univ.∀V2:Univ.∀X:Univ.∀Y:Univ.∀Z:Univ.∀a:Univ.∀add:∀_:Univ.∀_:Univ.Univ.∀b:Univ.∀c:Univ.∀d:Univ.∀multiply:∀_:Univ.∀_:Univ.Univ.∀negate:∀_:Univ.Univ.∀one:Univ.∀positive_integer:∀_:Univ.Prop.∀successor:∀_:Univ.Univ.∀H0:eq Univ (add c d) d.∀H1:∀X:Univ.∀Y:Univ.∀_:eq Univ (negate (add (negate Y) (negate (add X (negate Y))))) X.eq Univ (add Y (multiply (successor (successor one)) (add X (negate (add X (negate Y)))))) (add Y (multiply (successor one) (add X (negate (add X (negate Y)))))).∀H2:∀X:Univ.∀Y:Univ.∀_:eq Univ (negate (add X (negate Y))) (negate Y).eq Univ (add Y (multiply (successor (successor one)) (add X (negate (add X (negate Y)))))) (add Y (multiply (successor one) (add X (negate (add X (negate Y)))))).∀H3:∀V2:Univ.∀X:Univ.∀Y:Univ.∀_:positive_integer V2.∀_:eq Univ (negate (add X Y)) (negate Y).eq Univ (negate (add Y (multiply V2 (add X (negate (add X (negate Y))))))) (negate Y).∀H4:∀X:Univ.eq Univ (add X X) X.∀H5:∀X:Univ.∀_:positive_integer X.positive_integer (successor X).∀H6:positive_integer one.∀H7:∀V:Univ.∀X:Univ.∀_:positive_integer X.eq Univ (multiply (successor V) X) (add X (multiply V X)).∀H8:∀X:Univ.eq Univ (multiply one X) X.∀H9:∀X:Univ.∀Y:Univ.eq Univ (negate (add (negate (add X Y)) (negate (add X (negate Y))))) X.∀H10:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add (add X Y) Z) (add X (add Y Z)).∀H11:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).eq Univ (add (negate (add a (negate b))) (negate (add (negate a) (negate b)))) b
157 .
158 intros.
159 autobatch depth=5 width=5 size=20 timeout=10;
160 try assumption.
161 print proofterm.
162 qed.
163
164 (* -------------------------------------------------------------------------- *)