1 include "logic/equality.ma".
3 (* Inclusion of: RNG025-8.p *)
5 (* -------------------------------------------------------------------------- *)
7 (* File : RNG025-8 : TPTP v3.7.0. Released v1.0.0. *)
9 (* Domain : Ring Theory (Alternative) *)
11 (* Problem : Middle or Flexible Law *)
13 (* Version : [Ste87] (equality) axioms : Reduced & Augmented > Complete. *)
15 (* Theorem formulation : Linearized. *)
19 (* Refs : [Ste87] Stevens (1987), Some Experiments in Nonassociative Rin *)
25 (* Status : Satisfiable *)
27 (* Rating : 0.33 v3.2.0, 0.67 v3.1.0, 0.33 v2.4.0, 0.67 v2.2.1, 0.75 v2.2.0, 0.67 v2.1.0, 1.00 v2.0.0 *)
29 (* Syntax : Number of clauses : 18 ( 0 non-Horn; 18 unit; 1 RR) *)
31 (* Number of atoms : 18 ( 18 equality) *)
33 (* Maximal clause size : 1 ( 1 average) *)
35 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
37 (* Number of functors : 9 ( 4 constant; 0-3 arity) *)
39 (* Number of variables : 36 ( 2 singleton) *)
41 (* Maximal term depth : 4 ( 2 average) *)
45 (* -------------------------------------------------------------------------- *)
47 (* ----Don't Include nonassociative ring axioms. *)
49 (* ----The associator has to be replaced by its linearised form. *)
51 (* include('axioms/RNG003-0.ax'). *)
53 (* -------------------------------------------------------------------------- *)
55 (* ----Commutativity for addition *)
57 (* ----Associativity for addition *)
59 (* ----There exists an additive identity element *)
61 (* ----Multiplicative zero *)
63 (* ----Existence of left additive additive_inverse *)
65 (* ----Distributive property of product over sum *)
67 (* ----Inverse of additive_inverse of X is X *)
69 (* ----Right alternative law *)
71 (* ----Left alternative law *)
75 (* input_clause(associator,axiom, *)
77 (* [++equal(associator(X,Y,Z),add(multiply(multiply(X,Y),Z), *)
79 (* additive_inverse(multiply(X,multiply(Y,Z)))))]). *)
81 (* ----Linearised for of the associator *)
84 ntheorem prove_flexible_law:
85 (∀Univ:Type.∀U:Univ.∀V:Univ.∀X:Univ.∀Y:Univ.∀Z:Univ.
87 ∀add:∀_:Univ.∀_:Univ.Univ.
88 ∀additive_identity:Univ.
89 ∀additive_inverse:∀_:Univ.Univ.
90 ∀associator:∀_:Univ.∀_:Univ.∀_:Univ.Univ.
93 ∀commutator:∀_:Univ.∀_:Univ.Univ.
94 ∀multiply:∀_:Univ.∀_:Univ.Univ.
95 ∀H0:∀X:Univ.∀Y:Univ.eq Univ (commutator X Y) (add (multiply Y X) (additive_inverse (multiply X Y))).
96 ∀H1:∀U:Univ.∀V:Univ.∀X:Univ.∀Y:Univ.eq Univ (associator (add U V) X Y) (add (associator U X Y) (associator V X Y)).
97 ∀H2:∀U:Univ.∀V:Univ.∀X:Univ.∀Y:Univ.eq Univ (associator X (add U V) Y) (add (associator X U Y) (associator X V Y)).
98 ∀H3:∀U:Univ.∀V:Univ.∀X:Univ.∀Y:Univ.eq Univ (associator X Y (add U V)) (add (associator X Y U) (associator X Y V)).
99 ∀H4:∀X:Univ.∀Y:Univ.eq Univ (multiply (multiply X X) Y) (multiply X (multiply X Y)).
100 ∀H5:∀X:Univ.∀Y:Univ.eq Univ (multiply (multiply X Y) Y) (multiply X (multiply Y Y)).
101 ∀H6:∀X:Univ.eq Univ (additive_inverse (additive_inverse X)) X.
102 ∀H7:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply (add X Y) Z) (add (multiply X Z) (multiply Y Z)).
103 ∀H8:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (multiply X (add Y Z)) (add (multiply X Y) (multiply X Z)).
104 ∀H9:∀X:Univ.eq Univ (add X (additive_inverse X)) additive_identity.
105 ∀H10:∀X:Univ.eq Univ (add (additive_inverse X) X) additive_identity.
106 ∀H11:∀X:Univ.eq Univ (multiply X additive_identity) additive_identity.
107 ∀H12:∀X:Univ.eq Univ (multiply additive_identity X) additive_identity.
108 ∀H13:∀X:Univ.eq Univ (add X additive_identity) X.
109 ∀H14:∀X:Univ.eq Univ (add additive_identity X) X.
110 ∀H15:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (add X (add Y Z)) (add (add X Y) Z).
111 ∀H16:∀X:Univ.∀Y:Univ.eq Univ (add X Y) (add Y X).eq Univ (add (associator a b c) (associator a c b)) additive_identity)
121 #additive_identity ##.
122 #additive_inverse ##.
145 nauto by H0,H1,H2,H3,H4,H5,H6,H7,H8,H9,H10,H11,H12,H13,H14,H15,H16 ##;
146 ntry (nassumption) ##;
149 (* -------------------------------------------------------------------------- *)