1 include "logic/equality.ma".
3 (* Inclusion of: COL063-2.p *)
5 (* -------------------------------------------------------------------------- *)
7 (* File : COL063-2 : TPTP v3.7.0. Bugfixed v1.2.0. *)
9 (* Domain : Combinatory Logic *)
11 (* Problem : Find combinator equivalent to F from B and T *)
13 (* Version : [WM88] (equality) axioms. *)
15 (* Theorem formulation : The combinator is provided and checked. *)
17 (* English : Construct from B and T alone a combinator that behaves as the *)
19 (* combinator F does, where ((Bx)y)z = x(yz), (Tx)y = yx, *)
21 (* ((Fx)y)z = (zy)x. *)
23 (* Refs : [WM88] Wos & McCune (1988), Challenge Problems Focusing on Eq *)
25 (* : [WW+90] Wos et al. (1990), Automated Reasoning Contributes to *)
31 (* Status : Unsatisfiable *)
33 (* Rating : 0.11 v3.4.0, 0.12 v3.3.0, 0.00 v2.2.1, 0.11 v2.2.0, 0.14 v2.1.0, 0.00 v2.0.0 *)
35 (* Syntax : Number of clauses : 3 ( 0 non-Horn; 3 unit; 1 RR) *)
37 (* Number of atoms : 3 ( 3 equality) *)
39 (* Maximal clause size : 1 ( 1 average) *)
41 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
43 (* Number of functors : 6 ( 5 constant; 0-2 arity) *)
45 (* Number of variables : 5 ( 0 singleton) *)
47 (* Maximal term depth : 8 ( 4 average) *)
51 (* Bugfixes : v1.2.0 : Redundant [fgh]_substitution axioms removed. *)
53 (* -------------------------------------------------------------------------- *)
55 (* ----This is the F equivalent *)
56 ntheorem prove_f_combinator:
57 (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
58 ∀apply:∀_:Univ.∀_:Univ.Univ.
64 ∀H0:∀X:Univ.∀Y:Univ.eq Univ (apply (apply t X) Y) (apply Y X).
65 ∀H1:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (apply (apply (apply b X) Y) Z) (apply X (apply Y Z)).eq Univ (apply (apply (apply (apply (apply b (apply t t)) (apply (apply b b) (apply (apply b b) t))) x) y) z) (apply (apply z y) x))
80 ntry (nassumption) ##;
83 (* -------------------------------------------------------------------------- *)