;--------------------------------------------------------------------------
; File     : RNG010-5 : TPTP v2.2.0. Released v1.0.0.
; Domain   : Ring Theory (Right alternative)
; Problem  : Skew symmetry of the auxilliary function
; Version  : [Ove90] (equality) axioms :
;            Incomplete > Augmented > Incomplete.
; English  : The three Moufang identities imply the skew symmetry 
;            of s(W,X,Y,Z) = (W*X,Y,Z) - X*(W,Y,Z) - (X,Y,Z)*W.
;            Recall that skew symmetry means that the function sign 
;            changes when any two arguments are swapped. This problem 
;            proves the case for swapping the first two arguments.

; Refs     : [Ove90] Overbeek (1990), ATP competition announced at CADE-10
;          : [Ove93] Overbeek (1993), The CADE-11 Competitions: A Personal 
;          : [LM93]  Lusk & McCune (1993), Uniform Strategies: The CADE-11 
;          : [Zha93] Zhang (1993), Automated Proofs of Equality Problems in
; Source   : [Ove90]
; Names    : CADE-11 Competition Eq-9 [Ove90]
;          : THEOREM EQ-9 [LM93]
;          : PROBLEM 9 [Zha93]

; Status   : unknown
; Rating   : 1.00 v2.0.0
; Syntax   : Number of clauses    :   27 (   0 non-Horn;  27 unit;   2 RR)
;            Number of literals   :   27 (  27 equality)
;            Maximal clause size  :    1 (   1 average)
;            Number of predicates :    1 (   0 propositional; 2-2 arity)
;            Number of functors   :   11 (   5 constant; 0-4 arity)
;            Number of variables  :   52 (   2 singleton)
;            Maximal term depth   :    6 (   2 average)

; Comments : I copied this directly. I think the Moufang identities may 
;            be wrong. At least they're in another form.
;          : tptp2X -f kif -t rm_equality:rstfp RNG010-5.p 
;--------------------------------------------------------------------------
; commutative_addition, axiom.
(or (= (add ?A ?B) (add ?B ?A)))

; associative_addition, axiom.
(or (= (add (add ?A ?B) ?C) (add ?A (add ?B ?C))))

; right_identity, axiom.
(or (= (add ?A additive_identity) ?A))

; left_identity, axiom.
(or (= (add additive_identity ?A) ?A))

; right_additive_inverse, axiom.
(or (= (add ?A (additive_inverse ?A)) additive_identity))

; left_additive_inverse, axiom.
(or (= (add (additive_inverse ?A) ?A) additive_identity))

; additive_inverse_identity, axiom.
(or (= (additive_inverse additive_identity) additive_identity))

; property_of_inverse_and_add, axiom.
(or (= (add ?A (add (additive_inverse ?A) ?B)) ?B))

; distribute_additive_inverse, axiom.
(or (= (additive_inverse (add ?A ?B)) (add (additive_inverse ?A) (additive_inverse ?B))))

; additive_inverse_additive_inverse, axiom.
(or (= (additive_inverse (additive_inverse ?A)) ?A))

; multiply_additive_id1, axiom.
(or (= (multiply ?A additive_identity) additive_identity))

; multiply_additive_id2, axiom.
(or (= (multiply additive_identity ?A) additive_identity))

; product_of_inverse, axiom.
(or (= (multiply (additive_inverse ?A) (additive_inverse ?B)) (multiply ?A ?B)))

; multiply_additive_inverse1, axiom.
(or (= (multiply ?A (additive_inverse ?B)) (additive_inverse (multiply ?A ?B))))

; multiply_additive_inverse2, axiom.
(or (= (multiply (additive_inverse ?A) ?B) (additive_inverse (multiply ?A ?B))))

; distribute1, axiom.
(or (= (multiply ?A (add ?B ?C)) (add (multiply ?A ?B) (multiply ?A ?C))))

; distribute2, axiom.
(or (= (multiply (add ?A ?B) ?C) (add (multiply ?A ?C) (multiply ?B ?C))))

; right_alternative, axiom.
(or (= (multiply (multiply ?A ?B) ?B) (multiply ?A (multiply ?B ?B))))

; associator, axiom.
(or (= (associator ?A ?B ?C) (add (multiply (multiply ?A ?B) ?C) (additive_inverse (multiply ?A (multiply ?B ?C))))))

; commutator, axiom.
(or (= (commutator ?A ?B) (add (multiply ?B ?A) (additive_inverse (multiply ?A ?B)))))

; middle_associator, axiom.
(or (= (multiply (multiply (associator ?A ?A ?B) ?A) (associator ?A ?A ?B)) additive_identity))

; left_alternative, axiom.
(or (= (multiply (multiply ?A ?A) ?B) (multiply ?A (multiply ?A ?B))))

; defines_s, axiom.
(or (= (s ?A ?B ?C ?D) (add (add (associator (multiply ?A ?B) ?C ?D) (additive_inverse (multiply ?B (associator ?A ?C ?D)))) (additive_inverse (multiply (associator ?B ?C ?D) ?A)))))

; right_moufang, hypothesis.
(or (= (multiply ?A (multiply ?B (multiply ?C ?B))) (multiply (commutator (multiply ?A ?B) ?C) ?B)))

; left_moufang, hypothesis.
(or (= (multiply (multiply ?A (multiply ?B ?A)) ?C) (multiply ?A (commutator ?B (multiply ?A ?C)))))

; middle_moufang, hypothesis.
(or (= (multiply (multiply ?A ?B) (multiply ?C ?A)) (multiply (multiply ?A (multiply ?B ?C)) ?A)))

; prove_skew_symmetry, conjecture.
(or (/= (s a b c d) (additive_inverse (s b a c d))))

;--------------------------------------------------------------------------
