forked from ewenmaclean/Reformation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlemmas_GenNatSuc.tptp
37 lines (37 loc) · 1.29 KB
/
lemmas_GenNatSuc.tptp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
%---------------------------------------------------------------------------
% Problem : hets_exported
% Name : <lemmas?GenNatSuc>
% Author : hets
% Status : unknown
% Desc :
% Date : 2015-06-23 08:36:33.285906 UTC
% Option :
%---------------------------------------------------------------------------
fof(declaration0,axiom,
element(canonical_element)).
fof(declaration1,axiom,
! [X1] : (nat(X1) => nat(fact(X1)))).
fof(declaration2,axiom,
! [X1, X2] : ((nat(X1) & nat(X2)) => nat(plus(X1, X2)))).
fof(declaration3,axiom,
! [X1, X2] : ((nat(X1) & nat(X2)) => nat(qfact(X1, X2)))).
fof(declaration4,axiom,
! [X1, X2] : ((element(X1) & nat(X2)) => nat(s(X1, X2)))).
fof(declaration5,axiom,
! [X1, X2] : ((nat(X1) & nat(X2)) => nat(times(X1, X2)))).
fof(declaration6,axiom,
nat(zero)).
fof(disjoint_sorts_element_nat,axiom,
! [Y1, Y2] : ((element(Y1) & nat(Y2)) => ~ Y1 = Y2)).
fof(ga_non_empty_sort_element,axiom,
? [Y] : element(Y)).
fof(ga_non_empty_sort_nat,axiom,
? [Y] : nat(Y)).
fof(ax1,axiom,
! [X] : (nat(X) => qfact(zero, X) = X)).
fof(ax3,axiom,
! [X, Y] : ((nat(X) & nat(Y)) => times(fact(X), Y) = qfact(X, Y))).
fof(ax4,axiom,
! [Y] : (nat(Y) => times(zero, Y) = zero)).
fof(ax2,conjecture,
! [X] : (nat(X) => fact(X) = qfact(X, zero))).