1 include "logic/equality.ma".
3 (* Inclusion of: COL004-1.p *)
5 (* -------------------------------------------------------------------------- *)
7 (* File : COL004-1 : TPTP v3.7.0. Released v1.0.0. *)
9 (* Domain : Combinatory Logic *)
11 (* Problem : Find combinator equivalent to U from S and K *)
13 (* Version : [WM88] (equality) axioms. *)
15 (* English : Construct from S and K alone a combinator that behaves as the *)
17 (* combinator U does, where ((Sx)y)z = (xz)(yz), (Kx)y *)
19 (* = x, (Ux)y = y((xx)y). *)
21 (* Refs : [WM88] Wos & McCune (1988), Challenge Problems Focusing on Eq *)
25 (* Names : Problem 4 [WM88] *)
27 (* Status : Unsatisfiable *)
29 (* Rating : 0.44 v3.4.0, 0.38 v3.3.0, 0.50 v3.2.0, 0.57 v3.1.0, 0.67 v2.7.0, 0.55 v2.6.0, 0.17 v2.5.0, 0.25 v2.4.0, 0.00 v2.2.1, 0.56 v2.2.0, 0.57 v2.1.0, 1.00 v2.0.0 *)
31 (* Syntax : Number of clauses : 3 ( 0 non-Horn; 3 unit; 1 RR) *)
33 (* Number of atoms : 3 ( 3 equality) *)
35 (* Maximal clause size : 1 ( 1 average) *)
37 (* Number of predicates : 1 ( 0 propositional; 2-2 arity) *)
39 (* Number of functors : 5 ( 2 constant; 0-2 arity) *)
41 (* Number of variables : 6 ( 1 singleton) *)
43 (* Maximal term depth : 5 ( 3 average) *)
47 (* -------------------------------------------------------------------------- *)
48 ntheorem prove_u_combinator:
49 (∀Univ:Type.∀X:Univ.∀Y:Univ.∀Z:Univ.
50 ∀apply:∀_:Univ.∀_:Univ.Univ.
55 ∀H0:∀X:Univ.∀Y:Univ.eq Univ (apply (apply k X) Y) X.
56 ∀H1:∀X:Univ.∀Y:Univ.∀Z:Univ.eq Univ (apply (apply (apply s X) Y) Z) (apply (apply X Z) (apply Y Z)).∃Z:Univ.eq Univ (apply (apply Z (f Z)) (g Z)) (apply (g Z) (apply (apply (f Z) (f Z)) (g Z))))
69 napply (ex_intro ? ? ? ?) ##[
73 ntry (nassumption) ##;
76 (* -------------------------------------------------------------------------- *)