reference documentation

Article gfp-witness.art

path: "vendor/opentheory/data/theories/gfp-witness/gfp-witness.art"

13144 bytes
6
version
"Number.Natural.odd"
const
"->"
typeOp
0
def
"Number.Natural.natural"
typeOp
nil
opType
1
def
"bool"
typeOp
nil
opType
2
def
nil
cons
3
def
cons
opType
4
def
constTerm
5
def
refl
6
def
"Number.GF(p).oddprime"
"Number.Natural.bit1"
const
0
ref
1
ref
1
ref
nil
cons
7
def
cons
opType
8
def
constTerm
9
def
9
ref
"Number.Natural.zero"
const
1
ref
constTerm
10
def
appTerm
11
def
appTerm
12
def
defineConst
13
def
pop
14
def
pop
13
ref
appThm
sym
nil
"n"
1
ref
var
15
def
11
remove
nil
cons
cons
nil
cons
nil
cons
cons
6
remove
15
ref
"="
const
16
def
0
ref
1
ref
4
ref
nil
cons
17
def
cons
opType
constTerm
18
def
9
remove
15
ref
varTerm
19
def
appTerm
appTerm
"Number.Natural.suc"
const
8
ref
constTerm
20
def
"Number.Natural.bit0"
const
8
ref
constTerm
21
def
19
ref
appTerm
22
def
appTerm
23
def
appTerm
absTerm
24
def
19
ref
appTerm
25
def
betaConv
nil
"Data.Bool.!"
const
26
def
0
ref
4
ref
3
ref
cons
opType
27
def
constTerm
28
def
24
ref
appTerm
29
def
axiom
nil
"p"
2
ref
var
30
def
29
remove
nil
cons
cons
"q"
2
ref
var
31
def
25
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
16
ref
0
ref
2
ref
0
ref
2
ref
3
ref
cons
opType
32
def
nil
cons
cons
opType
33
def
constTerm
34
def
"Data.Bool.==>"
const
33
ref
constTerm
35
def
30
ref
varTerm
36
def
appTerm
31
ref
varTerm
37
def
appTerm
38
def
appTerm
refl
30
ref
31
ref
34
ref
"Data.Bool./\\"
const
33
ref
constTerm
39
def
36
ref
appTerm
40
def
37
ref
appTerm
41
def
appTerm
42
def
36
ref
appTerm
absTerm
43
def
absTerm
44
def
36
ref
appTerm
betaConv
37
ref
refl
45
def
appThm
43
remove
37
ref
appTerm
betaConv
trans
appThm
nil
16
ref
0
ref
33
ref
0
ref
33
ref
3
ref
cons
opType
46
def
nil
cons
cons
opType
constTerm
47
def
35
ref
appTerm
44
remove
appTerm
axiom
36
ref
refl
48
def
appThm
45
ref
appThm
eqMp
49
def
sym
50
def
42
remove
refl
31
ref
16
ref
0
ref
46
ref
0
ref
46
remove
3
ref
cons
opType
nil
cons
cons
opType
constTerm
51
def
"f"
33
remove
var
52
def
52
ref
varTerm
53
def
36
ref
appTerm
37
ref
appTerm
absTerm
54
def
appTerm
52
ref
53
ref
"Data.Bool.T"
const
2
ref
constTerm
55
def
appTerm
55
ref
appTerm
absTerm
56
def
appTerm
absTerm
57
def
37
ref
appTerm
betaConv
appThm
16
ref
0
ref
32
ref
0
ref
32
ref
3
ref
cons
opType
nil
cons
cons
opType
constTerm
58
def
40
remove
appTerm
refl
30
ref
57
remove
absTerm
59
def
36
ref
appTerm
betaConv
appThm
nil
47
remove
39
ref
appTerm
59
ref
appTerm
axiom
60
def
48
remove
appThm
eqMp
45
ref
appThm
eqMp
61
def
sym
52
ref
53
ref
refl
nil
"t"
2
ref
var
62
def
36
ref
nil
cons
63
def
cons
nil
cons
nil
cons
cons
34
ref
62
ref
varTerm
64
def
appTerm
55
ref
appTerm
assume
sym
nil
55
ref
axiom
65
def
eqMp
64
remove
assume
65
ref
deductAntisym
deductAntisym
66
def
subst
36
ref
assume
67
def
eqMp
appThm
nil
62
ref
37
ref
nil
cons
68
def
cons
nil
cons
nil
cons
cons
66
ref
subst
37
ref
assume
eqMp
appThm
absThm
eqMp
69
def
nil
"P"
2
ref
var
70
def
63
remove
cons
"Q"
2
ref
var
71
def
68
remove
cons
nil
cons
cons
nil
cons
cons
34
ref
refl
72
def
52
ref
53
remove
70
ref
varTerm
73
def
appTerm
74
def
71
ref
varTerm
75
def
appTerm
absTerm
30
ref
31
ref
36
ref
absTerm
absTerm
76
def
appTerm
betaConv
76
ref
73
ref
appTerm
betaConv
75
ref
refl
77
def
appThm
31
ref
73
ref
absTerm
75
ref
appTerm
betaConv
trans
trans
appThm
56
ref
76
ref
appTerm
betaConv
76
ref
55
ref
appTerm
betaConv
55
ref
refl
78
def
appThm
31
ref
55
ref
absTerm
55
ref
appTerm
betaConv
trans
trans
appThm
34
ref
39
ref
73
ref
appTerm
79
def
75
ref
appTerm
80
def
appTerm
refl
31
ref
51
remove
52
remove
74
remove
37
ref
appTerm
absTerm
appTerm
56
ref
appTerm
absTerm
75
remove
appTerm
betaConv
appThm
58
remove
79
remove
appTerm
refl
59
remove
73
ref
appTerm
betaConv
appThm
60
remove
73
remove
refl
appThm
eqMp
77
remove
appThm
eqMp
80
remove
assume
eqMp
76
remove
refl
appThm
eqMp
sym
65
ref
eqMp
81
def
subst
deductAntisym
eqMp
49
remove
38
remove
assume
eqMp
sym
67
remove
eqMp
72
remove
54
remove
30
ref
31
ref
37
ref
absTerm
82
def
absTerm
83
def
appTerm
betaConv
83
ref
36
remove
appTerm
betaConv
45
remove
appThm
82
ref
37
remove
appTerm
betaConv
trans
trans
appThm
56
remove
83
ref
appTerm
betaConv
83
ref
55
ref
appTerm
betaConv
78
remove
appThm
82
remove
55
ref
appTerm
betaConv
trans
trans
appThm
61
remove
41
remove
assume
eqMp
83
remove
refl
appThm
eqMp
sym
65
ref
eqMp
84
def
proveHyp
deductAntisym
85
def
subst
proveHyp
"A"
7
remove
cons
nil
cons
86
def
"P"
4
ref
var
87
def
24
remove
nil
cons
cons
"x"
1
ref
var
88
def
19
ref
nil
cons
89
def
cons
nil
cons
90
def
cons
nil
cons
cons
nil
30
ref
26
ref
0
ref
0
ref
"A"
varType
91
def
3
ref
cons
opType
92
def
3
ref
cons
opType
93
def
constTerm
94
def
"P"
92
ref
var
varTerm
95
def
appTerm
96
def
nil
cons
97
def
cons
31
ref
95
ref
"x"
91
ref
var
98
def
varTerm
99
def
appTerm
100
def
nil
cons
101
def
cons
nil
cons
cons
nil
cons
cons
102
def
50
ref
subst
102
remove
84
remove
69
remove
deductAntisym
103
def
subst
34
ref
100
remove
appTerm
refl
98
remove
55
ref
absTerm
104
def
99
ref
appTerm
betaConv
appThm
"p"
92
ref
var
105
def
16
ref
0
ref
92
ref
93
ref
nil
cons
cons
opType
constTerm
105
remove
varTerm
appTerm
104
remove
appTerm
absTerm
106
def
95
ref
appTerm
betaConv
107
def
nil
16
ref
0
ref
93
ref
0
ref
93
remove
3
ref
cons
opType
nil
cons
cons
opType
constTerm
94
remove
appTerm
106
remove
appTerm
axiom
95
remove
refl
appThm
108
def
96
ref
assume
eqMp
eqMp
99
ref
refl
109
def
appThm
eqMp
sym
65
ref
eqMp
eqMp
nil
70
ref
97
remove
cons
71
ref
101
remove
cons
nil
cons
cons
nil
cons
cons
81
ref
subst
deductAntisym
eqMp
110
def
subst
eqMp
eqMp
20
ref
refl
111
def
15
ref
18
ref
22
remove
appTerm
"Number.Natural.+"
const
0
ref
1
ref
8
remove
nil
cons
cons
opType
constTerm
112
def
19
ref
appTerm
19
ref
appTerm
113
def
appTerm
114
def
absTerm
115
def
19
ref
appTerm
116
def
betaConv
117
def
18
ref
refl
118
def
nil
18
ref
21
ref
10
ref
appTerm
appTerm
119
def
10
ref
appTerm
axiom
appThm
nil
15
ref
10
ref
nil
cons
120
def
cons
nil
cons
nil
cons
cons
15
ref
18
ref
112
ref
10
ref
appTerm
121
def
19
ref
appTerm
appTerm
19
ref
appTerm
absTerm
122
def
19
ref
appTerm
123
def
betaConv
nil
28
ref
122
ref
appTerm
124
def
axiom
nil
30
ref
124
remove
nil
cons
cons
31
ref
123
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
86
ref
87
ref
122
remove
nil
cons
cons
90
ref
cons
nil
cons
cons
110
ref
subst
eqMp
eqMp
subst
appThm
nil
88
ref
120
remove
cons
nil
cons
nil
cons
cons
86
ref
nil
nil
cons
125
def
cons
126
def
nil
62
ref
16
remove
0
ref
91
remove
92
remove
nil
cons
cons
opType
constTerm
99
ref
appTerm
99
remove
appTerm
nil
cons
cons
nil
cons
nil
cons
cons
66
ref
subst
109
remove
eqMp
127
def
subst
128
def
subst
trans
sym
65
ref
eqMp
nil
30
ref
119
remove
121
remove
10
ref
appTerm
appTerm
129
def
nil
cons
cons
31
ref
28
ref
15
ref
35
ref
114
ref
appTerm
18
ref
21
remove
20
ref
19
ref
appTerm
130
def
appTerm
appTerm
131
def
112
ref
130
ref
appTerm
130
ref
appTerm
appTerm
132
def
appTerm
133
def
absTerm
134
def
appTerm
135
def
nil
cons
cons
nil
cons
cons
nil
cons
cons
103
ref
subst
proveHyp
nil
87
ref
134
remove
nil
cons
cons
nil
cons
nil
cons
cons
126
remove
34
ref
96
remove
appTerm
refl
107
remove
appThm
108
remove
eqMp
sym
subst
subst
15
ref
nil
62
ref
133
remove
nil
cons
cons
nil
cons
nil
cons
cons
66
ref
subst
nil
30
ref
114
ref
nil
cons
136
def
cons
31
ref
132
remove
nil
cons
137
def
cons
nil
cons
cons
nil
cons
cons
138
def
50
remove
subst
138
remove
103
remove
subst
118
remove
15
ref
131
remove
20
ref
23
remove
appTerm
appTerm
absTerm
139
def
19
ref
appTerm
140
def
betaConv
nil
28
ref
139
ref
appTerm
141
def
axiom
nil
30
ref
141
remove
nil
cons
cons
31
ref
140
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
86
ref
87
ref
139
remove
nil
cons
cons
90
ref
cons
nil
cons
cons
110
ref
subst
eqMp
eqMp
111
ref
111
ref
114
remove
assume
appThm
appThm
trans
appThm
nil
15
ref
130
ref
nil
cons
cons
"m"
1
ref
var
142
def
89
remove
cons
nil
cons
143
def
cons
nil
cons
cons
15
ref
18
ref
112
ref
20
ref
142
ref
varTerm
144
def
appTerm
appTerm
19
ref
appTerm
appTerm
20
ref
112
remove
144
ref
appTerm
145
def
19
ref
appTerm
146
def
appTerm
147
def
appTerm
absTerm
148
def
19
ref
appTerm
149
def
betaConv
142
ref
28
ref
148
ref
appTerm
150
def
absTerm
151
def
144
ref
appTerm
152
def
betaConv
nil
28
ref
151
ref
appTerm
153
def
axiom
nil
30
ref
153
remove
nil
cons
cons
31
ref
152
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
86
ref
87
ref
151
remove
nil
cons
cons
88
ref
144
ref
nil
cons
cons
nil
cons
154
def
cons
nil
cons
cons
110
ref
subst
eqMp
eqMp
nil
30
ref
150
remove
nil
cons
cons
31
ref
149
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
86
ref
87
ref
148
remove
nil
cons
cons
90
ref
cons
nil
cons
cons
110
ref
subst
eqMp
eqMp
subst
111
remove
nil
143
remove
nil
cons
cons
155
def
15
ref
18
remove
145
remove
130
ref
appTerm
appTerm
147
remove
appTerm
absTerm
156
def
19
ref
appTerm
157
def
betaConv
142
ref
28
ref
156
ref
appTerm
158
def
absTerm
159
def
144
ref
appTerm
160
def
betaConv
nil
28
ref
159
ref
appTerm
161
def
axiom
nil
30
ref
161
remove
nil
cons
cons
31
ref
160
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
86
ref
87
ref
159
remove
nil
cons
cons
154
ref
cons
nil
cons
cons
110
ref
subst
eqMp
eqMp
nil
30
ref
158
remove
nil
cons
cons
31
ref
157
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
86
ref
87
ref
156
remove
nil
cons
cons
90
ref
cons
nil
cons
cons
110
ref
subst
eqMp
eqMp
subst
appThm
trans
appThm
nil
88
remove
20
ref
20
remove
113
ref
appTerm
appTerm
nil
cons
cons
nil
cons
nil
cons
cons
128
remove
subst
trans
sym
65
ref
eqMp
eqMp
nil
70
remove
136
remove
cons
71
remove
137
remove
cons
nil
cons
cons
nil
cons
cons
81
remove
subst
deductAntisym
eqMp
eqMp
absThm
eqMp
eqMp
nil
30
ref
39
ref
129
remove
appTerm
135
remove
appTerm
nil
cons
cons
31
ref
28
ref
115
ref
appTerm
nil
cons
162
def
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
35
ref
refl
163
def
39
ref
refl
115
ref
10
ref
appTerm
betaConv
appThm
28
ref
refl
164
def
15
ref
163
remove
117
ref
appThm
115
ref
130
ref
appTerm
betaConv
appThm
absThm
appThm
appThm
appThm
164
remove
15
ref
117
remove
absThm
appThm
appThm
nil
"p"
4
ref
var
165
def
115
remove
nil
cons
166
def
cons
nil
cons
nil
cons
cons
165
ref
35
ref
39
remove
165
remove
varTerm
167
def
10
remove
appTerm
appTerm
28
ref
15
ref
35
remove
167
ref
19
ref
appTerm
168
def
appTerm
167
ref
130
ref
appTerm
appTerm
absTerm
appTerm
appTerm
appTerm
28
ref
15
ref
168
remove
absTerm
appTerm
appTerm
absTerm
169
def
167
ref
appTerm
170
def
betaConv
nil
26
remove
0
remove
27
ref
3
ref
cons
opType
constTerm
169
ref
appTerm
171
def
axiom
nil
30
ref
171
remove
nil
cons
cons
31
ref
170
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
"A"
17
remove
cons
nil
cons
"P"
27
remove
var
169
remove
nil
cons
cons
"x"
4
ref
var
167
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
110
ref
subst
eqMp
eqMp
subst
eqMp
eqMp
nil
30
ref
162
remove
cons
31
ref
116
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
86
ref
87
ref
166
remove
cons
90
ref
cons
nil
cons
cons
110
ref
subst
eqMp
eqMp
appThm
trans
appThm
nil
15
ref
113
remove
nil
cons
cons
nil
cons
nil
cons
cons
15
ref
34
ref
5
ref
130
remove
appTerm
appTerm
"Data.Bool.~"
const
32
remove
constTerm
172
def
5
ref
19
ref
appTerm
173
def
appTerm
appTerm
absTerm
174
def
19
ref
appTerm
175
def
betaConv
nil
28
ref
174
ref
appTerm
176
def
axiom
nil
30
ref
176
remove
nil
cons
cons
31
ref
175
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
86
ref
87
ref
174
remove
nil
cons
cons
90
ref
cons
nil
cons
cons
110
ref
subst
eqMp
eqMp
subst
172
ref
refl
177
def
155
remove
15
remove
34
ref
5
ref
146
remove
appTerm
appTerm
172
ref
34
ref
5
ref
144
ref
appTerm
appTerm
173
ref
appTerm
appTerm
appTerm
absTerm
178
def
19
remove
appTerm
179
def
betaConv
142
remove
28
ref
178
ref
appTerm
180
def
absTerm
181
def
144
remove
appTerm
182
def
betaConv
nil
28
remove
181
ref
appTerm
183
def
axiom
nil
30
ref
183
remove
nil
cons
cons
31
ref
182
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
ref
subst
proveHyp
86
ref
87
ref
181
remove
nil
cons
cons
154
remove
cons
nil
cons
cons
110
ref
subst
eqMp
eqMp
nil
30
remove
180
remove
nil
cons
cons
31
remove
179
remove
nil
cons
cons
nil
cons
cons
nil
cons
cons
85
remove
subst
proveHyp
86
remove
87
remove
178
remove
nil
cons
cons
90
remove
cons
nil
cons
cons
110
remove
subst
eqMp
eqMp
subst
177
remove
nil
"x"
2
ref
var
173
remove
nil
cons
cons
nil
cons
nil
cons
cons
"A"
3
remove
cons
nil
cons
125
remove
cons
127
remove
subst
subst
appThm
nil
34
ref
172
ref
55
ref
appTerm
appTerm
"Data.Bool.F"
const
2
remove
constTerm
184
def
appTerm
axiom
trans
trans
appThm
nil
34
remove
172
remove
184
remove
appTerm
appTerm
55
remove
appTerm
axiom
trans
trans
trans
subst
sym
65
ref
eqMp
eqMp
nil
5
remove
14
remove
1
remove
constTerm
185
def
appTerm
thm
"Number.Natural.prime"
const
4
remove
constTerm
186
def
refl
13
remove
appThm
nil
62
remove
186
ref
12
remove
appTerm
187
def
nil
cons
cons
nil
cons
nil
cons
cons
66
remove
subst
nil
187
remove
axiom
eqMp
trans
sym
65
remove
eqMp
nil
186
remove
185
remove
appTerm
thm