% Examples: from TPTP/Proposals/HOL.html updated for Feb. 21 2006 language,
% which includes definitions via ':='. -- A.V.G.
% ESPECIALLY NOTE: colon should be followed by whitespace.
% ----------
hof(subset,definition,
subset :=
^ [A: $type] :
^ [P: (A > $o),R: (A > $o)] :
! [X: A] :
( ( P @ X )
=> ( R @ X ) ) ).
hof(set_union,definition,
set_union :=
^ [A: $type] :
^ [D: ((A > $o) > $o),X: A] :
? [S: (A > $o)] :
( ( D @ S )
& ( S @ X ) ) ).
hof(thm616A,conjecture,
! [A: $type] :
! [OpenColl: ((A > $o) > $o)] :
( ( ! [G: ((A > $o) > $o)] :
( ( ( ( subset
@ ( A > $o ) )
@ G ) @ OpenColl )
=> ( OpenColl
@ ( ( set_union @ A ) @ G ) ) ) )
=> ( ! [B: (A > $o)] :
( ( ! [X: A] :
( ( B @ X )
=> ( ? [D: (A > $o)] :
( ( ( OpenColl @ D )
& ( D @ X ) )
& ( ( ( subset @ A ) @ D ) @ B ) ) ) ) )
=> ( OpenColl @ B ) ) ) ) ).
hof(thm616AA, axiom,
! [G: (($i > $o) > $o)] :
( ( subset @ ($i > $o) @ G @ open_coll )
=>
( open_coll @ (set_union @ $i @ G) )
)
).
hof(thm616AB, conjecture,
! [B: ($i > $o)] :
( ! [X: $i] :
( ( B @ X )
=>
( ? [D: ($i > $o)] :
( ( open_coll @ D )
&
( D @ X )
&
( subset @ $i @ D @ B )
)
)
)
=>
( open_coll @ B )
)
).
hof(a,conjecture,
! [P: (($o > $o) > $o)] :
( ( P @ (~) )
=> ( P
@ ^ [X: $o] : ( ~ ( ~ ( ~ X ) ) ) ) ) ).
hof(b,conjecture,
! [P: (($o > $o > $o) > $o)] :
( ( P @ (|) )
=> ( P
@ ^ [X: $o,Y: $o] :
( Y | X ) ) ) ).
hof(c,conjecture,
! [P: (($o > $o) > $o)] :
( ( P
@ ( (|) @ $true ) )
=> ( P
@ ^ [X: $o] : $true) )
).
hof(d,conjecture,
! [B: $type,A: $type] :
! [P: (((B > A) > (B > A) > $o) > $o)] :
( ( P
@ ( (=)
@ ( B > A )
)
)
=> ( P
@ ^ [X: (B > A),Y: (B > A)] :
( Y = X )
)
)
).
% *_ax assume 'not', 'or', 'eq' have axioms somewhere; names suggest intended
% interpretations, but these are normal constants. Illustrates syntax.
hof(a_ax,conjecture,
! [P: ($o > $o > $o)] :
( ( P @ not )
=> ( P
@ ^ [X: $o] : ( not @ ( not @ ( not @ X ) ) ) ) ) ).
hof(b_ax,conjecture,
! [P: (($o > $o > $o) > $o)] :
( ( P @ or )
=> ( P
@ ^ [X: $o,Y: $o] :
( or @ Y @ X ) ) ) ).
hof(c_ax,conjecture,
! [P: (($o > $o) > $o)] :
( ( P
@ ( or @ $true ) )
=> ( P
@ ^ [X: $o] : $true) ) ).
hof(d_ax,conjecture,
! [B: $type,A: $type] :
! [P: (((B > A) > (B > A) > $o) > $o)] :
( ( P
@ ( eq
@ ( B > A ) ) )
=> ( P
@ ^ [X: (B > A),Y: (B > A)] :
( eq @ Y @ X ) ) ) ).