2 include "logic/equality.ma".
3 (* Inclusion of: COL004-3.p *)
4 (* -------------------------------------------------------------------------- *)
5 (* File : COL004-3 : TPTP v3.1.1. Released v1.0.0. *)
6 (* Domain : Combinatory Logic *)
7 (* Problem : Find combinator equivalent to U from S and K. *)
8 (* Version : [WM88] (equality) axioms. *)
9 (* Theorem formulation : The combination is provided and checked. *)
10 (* English : Construct from S and K alone a combinator that behaves as the *)
11 (* combinator U does, where ((Sx)y)z = (xz)(yz), (Kx)y = x, *)
12 (* (Ux)y = y((xx)y). *)
13 (* Refs : [WM88] Wos & McCune (1988), Challenge Problems Focusing on Eq *)
16 (* Status : Unsatisfiable *)
17 (* Rating : 0.21 v3.1.0, 0.22 v2.7.0, 0.27 v2.6.0, 0.17 v2.5.0, 0.00 v2.2.1, 0.22 v2.2.0, 0.29 v2.1.0, 0.38 v2.0.0 *)
18 (* Syntax : Number of clauses : 3 ( 0 non-Horn; 3 unit; 1 RR) *)
19 (* Number of atoms : 3 ( 3 equality) *)
20 (* Maximal clause size : 1 ( 1 average) *)
21 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
22 (* Number of functors : 5 ( 4 constant; 0-2 arity) *)
23 (* Number of variables : 5 ( 1 singleton) *)
24 (* Maximal term depth : 9 ( 4 average) *)
26 (* -------------------------------------------------------------------------- *)
27 (* ----This is the U equivalent *)
28 theorem prove_u_combinator:
30 \forall apply:\forall _:Univ.\forall _:Univ.Univ.
35 \forall H0:\forall X:Univ.\forall Y:Univ.eq Univ (apply (apply k X) Y) X.
36 \forall H1:\forall X:Univ.\forall Y:Univ.\forall Z:Univ.eq Univ (apply (apply (apply s X) Y) Z) (apply (apply X Z) (apply Y Z)).eq Univ (apply (apply (apply (apply s (apply k (apply s (apply (apply s k) k)))) (apply (apply s (apply (apply s k) k)) (apply (apply s k) k))) x) y) (apply y (apply (apply x x) y))
39 autobatch paramodulation timeout=100;
43 (* -------------------------------------------------------------------------- *)