fact.so
3.53 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
_Tail ==> [decl(id('i'), formal, T)|_Tail].
_Tail ==> [1|_Tail].
_Tail ==> [id('i')|_Tail].
_Tail ==> [lit(int, 0)|_Tail].
[B,A|_Tail] ==> [lt(A,B)|_Tail].
_Tail ==> [lit(int, 0)|_Tail].
[E|_Tail] ==> [return(E)|_Tail].
[T|_Tail] ==> [[T]|_Tail].
_Tail ==> [id('i')|_Tail].
_Tail ==> [lit(int, 0)|_Tail].
[B,A|_Tail] ==> [eq(A,B)|_Tail].
_Tail ==> [lit(int, 1)|_Tail].
[E|_Tail] ==> [return(E)|_Tail].
[T|_Tail] ==> [[T]|_Tail].
_Tail ==> [id('i')|_Tail].
_Tail ==> [id('fact')|_Tail].
_Tail ==> [id('i')|_Tail].
_Tail ==> [lit(int, 1)|_Tail].
[B,A|_Tail] ==> [sub(A,B)|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
[B,A|_Tail] ==> [mul(A,B)|_Tail].
[E|_Tail] ==> [return(E)|_Tail].
[T|_Tail] ==> [[T]|_Tail].
[ES,S,E|_Tail] ==> [[clause(E, S),else(ES)]|_Tail].
[Cs,S,E|_Tail] ==> [[clause(E, S)|Cs]|_Tail].
[B,G|_Tail] ==> [cond(B, G)|_Tail].
[T|_Tail] ==> [[T]|_Tail].
[S,F|_Tail] ==> [lit(map(TF,TR), map(F,S,Symbols))|_Tail].
[V|_Tail] ==> [decl(id('fact'), const(V), T)|_Tail].
_Tail ==> [decl(id('i'), formal, T)|_Tail].
_Tail ==> [id('res')|_Tail].
_Tail ==> [lit(int, 1)|_Tail].
[B,A|_Tail] ==> [assign(A,B)|_Tail].
_Tail ==> [id('k')|_Tail].
_Tail ==> [id('i')|_Tail].
[B,A|_Tail] ==> [assign(A,B)|_Tail].
_Tail ==> [2|_Tail].
_Tail ==> [id('k')|_Tail].
_Tail ==> [lit(int, 0)|_Tail].
[B,A|_Tail] ==> [gt(A,B)|_Tail].
_Tail ==> [id('res')|_Tail].
_Tail ==> [id('res')|_Tail].
_Tail ==> [id('k')|_Tail].
[B,A|_Tail] ==> [mul(A,B)|_Tail].
[B,A|_Tail] ==> [assign(A,B)|_Tail].
_Tail ==> [id('k')|_Tail].
_Tail ==> [id('k')|_Tail].
_Tail ==> [lit(int, 1)|_Tail].
[B,A|_Tail] ==> [sub(A,B)|_Tail].
[B,A|_Tail] ==> [assign(A,B)|_Tail].
[T|_Tail] ==> [[T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[S,E|_Tail] ==> [[clause(E, S)]|_Tail].
[B,G|_Tail] ==> [while(B, G)|_Tail].
_Tail ==> [id('res')|_Tail].
[E|_Tail] ==> [return(E)|_Tail].
[T|_Tail] ==> [[T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[S,F|_Tail] ==> [lit(map(TF,TR), map(F,S,Symbols))|_Tail].
[V|_Tail] ==> [decl(id('ifact'), const(V), T)|_Tail].
_Tail ==> [[]|_Tail].
_Tail ==> [[]|_Tail].
_Tail ==> [3|_Tail].
_Tail ==> [id('readBool')|_Tail].
_Tail ==> [[]|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
_Tail ==> [id('i')|_Tail].
_Tail ==> [id('readInt')|_Tail].
_Tail ==> [[]|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
[B,A|_Tail] ==> [assign(A,B)|_Tail].
_Tail ==> [id('writeInt')|_Tail].
_Tail ==> [id('i')|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
_Tail ==> [id('writeChar')|_Tail].
_Tail ==> [lit(int, 10)|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
_Tail ==> [id('writeInt')|_Tail].
_Tail ==> [id('ifact')|_Tail].
_Tail ==> [id('i')|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
_Tail ==> [id('writeChar')|_Tail].
_Tail ==> [lit(int, 32)|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
_Tail ==> [id('writeInt')|_Tail].
_Tail ==> [id('fact')|_Tail].
_Tail ==> [id('i')|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
_Tail ==> [id('writeChar')|_Tail].
_Tail ==> [lit(int, 10)|_Tail].
[B,A|_Tail] ==> [map(A,B)|_Tail].
[T|_Tail] ==> [[T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[S,E|_Tail] ==> [[clause(E, S)]|_Tail].
[B,G|_Tail] ==> [while(B, G)|_Tail].
[T|_Tail] ==> [[T]|_Tail].
[S,TR,F|_Tail] ==> [lit(map(TF,TR), map(F,S,Symbols))|_Tail].
[V|_Tail] ==> [decl(id('program'), const(V), T)|_Tail].
[T|_Tail] ==> [[T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].
[T,H|_Tail] ==> [[H|T]|_Tail].