]> matita.cs.unibo.it Git - helm.git/blob - helm/software/matita/contribs/ng_TPTP/RNG008-7.ma
Preparing for 0.5.9 release.
[helm.git] / helm / software / matita / contribs / ng_TPTP / RNG008-7.ma
1 include "logic/equality.ma".
2
3 (* Inclusion of: RNG008-7.p *)
4
5 (* -------------------------------------------------------------------------- *)
6
7 (*  File     : RNG008-7 : TPTP v3.7.0. Released v1.0.0. *)
8
9 (*  Domain   : Ring Theory *)
10
11 (*  Problem  : Boolean rings are commutative *)
12
13 (*  Version  : [LW91] (equality) axioms. *)
14
15 (*  English  : Given a ring in which for all x, x * x = x, prove that for  *)
16
17 (*             all x and y, x * y = y * x. *)
18
19 (*  Refs     : [LO85]  Lusk & Overbeek (1985), Reasoning about Equality *)
20
21 (*           : [Wos88] Wos (1988), Automated Reasoning - 33 Basic Research Pr *)
22
23 (*           : [LW91]  Lusk & Wos (1991), Benchmark Problems in Which Equalit *)
24
25 (*  Source   : [LW91] *)
26
27 (*  Names    : Problem 3 [LO85] *)
28
29 (*           : Test Problem 8 [Wos88] *)
30
31 (*           : Boolean Rings [Wos88] *)
32
33 (*           : RT1 [LW91] *)
34
35 (*  Status   : Unsatisfiable *)
36
37 (*  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 *)
38
39 (*  Syntax   : Number of clauses     :   12 (   0 non-Horn;  12 unit;   2 RR) *)
40
41 (*             Number of atoms       :   12 (  12 equality) *)
42
43 (*             Maximal clause size   :    1 (   1 average) *)
44
45 (*             Number of predicates  :    1 (   0 propositional; 2-2 arity) *)
46
47 (*             Number of functors    :    7 (   4 constant; 0-2 arity) *)
48
49 (*             Number of variables   :   19 (   0 singleton) *)
50
51 (*             Maximal term depth    :    3 (   2 average) *)
52
53 (*  Comments : This is very similar to ring_x2.in [OTTER]. *)
54
55 (* -------------------------------------------------------------------------- *)
56
57 (* ----Include ring theory axioms  *)
58
59 (* Inclusion of: Axioms/RNG005-0.ax *)
60
61 (* -------------------------------------------------------------------------- *)
62
63 (*  File     : RNG005-0 : TPTP v3.7.0. Released v1.0.0. *)
64
65 (*  Domain   : Ring Theory  *)
66
67 (*  Axioms   : Ring theory (equality) axioms *)
68
69 (*  Version  : [LW92] (equality) axioms. *)
70
71 (*  English  :  *)
72
73 (*  Refs     : [Wos88] Wos (1988), Automated Reasoning - 33 Basic Research Pr *)
74
75 (*           : [LW92]  Lusk & Wos (1992), Benchmark Problems in Which Equalit *)
76
77 (*  Source   : [LW92] *)
78
79 (*  Names    :  *)
80
81 (*  Status   :  *)
82
83 (*  Syntax   : Number of clauses    :    9 (   0 non-Horn;   9 unit;   0 RR) *)
84
85 (*             Number of atoms      :    9 (   9 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   :    4 (   1 constant; 0-2 arity) *)
92
93 (*             Number of variables  :   18 (   0 singleton) *)
94
95 (*             Maximal term depth   :    3 (   2 average) *)
96
97 (*  Comments : These axioms are used in [Wos88] p.203. *)
98
99 (* -------------------------------------------------------------------------- *)
100
101 (* ----There exists an additive identity element  *)
102
103 (* ----Existence of left additive additive_inverse  *)
104
105 (* ----Associativity for addition  *)
106
107 (* ----Commutativity for addition  *)
108
109 (* ----Associativity for multiplication  *)
110
111 (* ----Distributive property of product over sum  *)
112
113 (* -------------------------------------------------------------------------- *)
114
115 (* -------------------------------------------------------------------------- *)
116 ntheorem prove_commutativity:
117  (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
118 ∀a:Univ.
119 ∀add:∀_:Univ.∀_:Univ.Univ.
120 ∀additive_identity:Univ.
121 ∀additive_inverse:∀_:Univ.Univ.
122 ∀b:Univ.
123 ∀c:Univ.
124 ∀multiply:∀_:Univ.∀_:Univ.Univ.
125 ∀H0:eq Univ (multiply a b) c.
126 ∀H1:∀X:Univ.eq Univ (multiply X X) X.
127 ∀H2:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)).
128 ∀H3:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)).
129 ∀H4:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply X (multiply Y Z)) (multiply (multiply X Y) Z).
130 ∀H5:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).
131 ∀H6:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add X (add Y Z)) (add (add X Y) Z).
132 ∀H7:∀X:Univ.eq Univ (add X (additive_inverse X)) additive_identity.
133 ∀H8:∀X:Univ.eq Univ (add (additive_inverse X) X) additive_identity.
134 ∀H9:∀X:Univ.eq Univ (add X additive_identity) X.
135 ∀H10:∀X:Univ.eq Univ (add additive_identity X) X.eq Univ (multiply b a) c)
136 .
137 #Univ ##.
138 #X ##.
139 #Y ##.
140 #Z ##.
141 #a ##.
142 #add ##.
143 #additive_identity ##.
144 #additive_inverse ##.
145 #b ##.
146 #c ##.
147 #multiply ##.
148 #H0 ##.
149 #H1 ##.
150 #H2 ##.
151 #H3 ##.
152 #H4 ##.
153 #H5 ##.
154 #H6 ##.
155 #H7 ##.
156 #H8 ##.
157 #H9 ##.
158 #H10 ##.
159 nauto by H0,H1,H2,H3,H4,H5,H6,H7,H8,H9,H10 ##;
160 ntry (nassumption) ##;
161 nqed.
162
163 (* -------------------------------------------------------------------------- *)