]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/ng_TPTP/RNG008-4.ma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / ng_TPTP / RNG008-4.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: RNG008-4.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : RNG008-4 : TPTP v3.7.0. Released v1.0.0. *)
8
9 (*  Domain   : Ring Theory *)
10
11 (*  Problem  : Boolean rings are commutative *)
12
13 (*  Version  : [PS81] (equality) axioms. *)
14
15 (*             Theorem formulation : Equality. *)
16
17 (*  English  : Given a ring in which for all x, x * x = x, prove that for  *)
18
19 (*             all x and y, x * y = y * x. *)
20
21 (*  Refs     : [MOW76] McCharen et al. (1976), Problems and Experiments for a *)
22
23 (*           : [PS81]  Peterson & Stickel (1981), Complete Sets of Reductions *)
24
25 (*  Source   : [TPTP] *)
26
27 (*  Names    :  *)
28
29 (*  Status   : Unsatisfiable *)
30
31 (*  Rating   : 0.00 v3.3.0, 0.07 v3.1.0, 0.11 v2.7.0, 0.00 v2.2.1, 0.22 v2.2.0, 0.29 v2.1.0, 0.25 v2.0.0 *)
32
33 (*  Syntax   : Number of clauses     :   17 (   0 non-Horn;  17 unit;   3 RR) *)
34
35 (*             Number of atoms       :   17 (  17 equality) *)
36
37 (*             Maximal clause size   :    1 (   1 average) *)
38
39 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
40
41 (*             Number of functors    :    7 (   4 constant; 0-2 arity) *)
42
43 (*             Number of variables   :   26 (   2 singleton) *)
44
45 (*             Maximal term depth    :    3 (   2 average) *)
46
47 (*  Comments :  *)
48
49 (* -------------------------------------------------------------------------- *)
50
51 (* ----Include ring theory axioms  *)
52
53 (* Inclusion of: Axioms/RNG002-0.ax *)
54
55 (* -------------------------------------------------------------------------- *)
56
57 (*  File     : RNG002-0 : TPTP v3.7.0. Released v1.0.0. *)
58
59 (*  Domain   : Ring Theory *)
60
61 (*  Axioms   : Ring theory (equality) axioms *)
62
63 (*  Version  : [PS81] (equality) axioms : *)
64
65 (*             Reduced & Augmented > Complete. *)
66
67 (*  English  :  *)
68
69 (*  Refs     : [PS81]  Peterson & Stickel (1981), Complete Sets of Reductions *)
70
71 (*  Source   : [ANL] *)
72
73 (*  Names    :  *)
74
75 (*  Status   :  *)
76
77 (*  Syntax   : Number of clauses    :   14 (   0 non-Horn;  14 unit;   1 RR) *)
78
79 (*             Number of atoms      :   14 (  14 equality) *)
80
81 (*             Maximal clause size  :    1 (   1 average) *)
82
83 (*             Number of predicates :    1 (   0 propositional; 2-2 arity) *)
84
85 (*             Number of functors   :    4 (   1 constant; 0-2 arity) *)
86
87 (*             Number of variables  :   25 (   2 singleton) *)
88
89 (*             Maximal term depth   :    3 (   2 average) *)
90
91 (*  Comments : Not sure if these are complete. I don't know if the reductions *)
92
93 (*             given in [PS81] are suitable for ATP. *)
94
95 (* -------------------------------------------------------------------------- *)
96
97 (* ----Existence of left identity for addition  *)
98
99 (* ----Existence of left additive additive_inverse  *)
100
101 (* ----Distributive property of product over sum  *)
102
103 (* ----Inverse of identity is identity, stupid  *)
104
105 (* ----Inverse of additive_inverse of X is X  *)
106
107 (* ----Behavior of 0 and the multiplication operation  *)
108
109 (* ----Inverse of (x + y) is additive_inverse(x) + additive_inverse(y)  *)
110
111 (* ----x * additive_inverse(y) = additive_inverse (x * y)  *)
112
113 (* ----Associativity of addition  *)
114
115 (* ----Commutativity of addition  *)
116
117 (* ----Associativity of product  *)
118
119 (* -------------------------------------------------------------------------- *)
120
121 (* -------------------------------------------------------------------------- *)
122 ntheorem prove_commutativity:
123  (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
124 ∀a:Univ.
125 ∀add:∀_:Univ.∀_:Univ.Univ.
126 ∀additive_identity:Univ.
127 ∀additive_inverse:∀_:Univ.Univ.
128 ∀b:Univ.
129 ∀c:Univ.
130 ∀multiply:∀_:Univ.∀_:Univ.Univ.
131 ∀H0:eq Univ (multiply a b) c.
132 ∀H1:∀X:Univ.eq Univ (multiply X X) X.
133 ∀H2:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (multiply X Y) Z) (multiply X (multiply Y Z)).
134 ∀H3:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).
135 ∀H4:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add (add X Y) Z) (add X (add Y Z)).
136 ∀H5:∀X:Univ.∀Y:Univ.eq Univ (multiply (additive_inverse X) Y) (additive_inverse (multiply X Y)).
137 ∀H6:∀X:Univ.∀Y:Univ.eq Univ (multiply X (additive_inverse Y)) (additive_inverse (multiply X Y)).
138 ∀H7:∀X:Univ.∀Y:Univ.eq Univ (additive_inverse (add X Y)) (add (additive_inverse X) (additive_inverse Y)).
139 ∀H8:∀X:Univ.eq Univ (multiply additive_identity X) additive_identity.
140 ∀H9:∀X:Univ.eq Univ (multiply X additive_identity) additive_identity.
141 ∀H10:∀X:Univ.eq Univ (additive_inverse (additive_inverse X)) X.
142 ∀H11:eq Univ (additive_inverse additive_identity) additive_identity.
143 ∀H12:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)).
144 ∀H13:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)).
145 ∀H14:∀X:Univ.eq Univ (add (additive_inverse X) X) additive_identity.
146 ∀H15:∀X:Univ.eq Univ (add additive_identity X) X.eq Univ (multiply b a) c)
147 .
148 #Univ ##.
149 #X ##.
150 #Y ##.
151 #Z ##.
152 #a ##.
153 #add ##.
154 #additive_identity ##.
155 #additive_inverse ##.
156 #b ##.
157 #c ##.
158 #multiply ##.
159 #H0 ##.
160 #H1 ##.
161 #H2 ##.
162 #H3 ##.
163 #H4 ##.
164 #H5 ##.
165 #H6 ##.
166 #H7 ##.
167 #H8 ##.
168 #H9 ##.
169 #H10 ##.
170 #H11 ##.
171 #H12 ##.
172 #H13 ##.
173 #H14 ##.
174 #H15 ##.
175 nauto by H0,H1,H2,H3,H4,H5,H6,H7,H8,H9,H10,H11,H12,H13,H14,H15 ##;
176 ntry (nassumption) ##;
177 nqed.
178
179 (* -------------------------------------------------------------------------- *)