Skip to content

Commit c3f6403

Browse files
committed
Factor out CFACT and YFACT
1 parent c3849e6 commit c3f6403

5 files changed

Lines changed: 6 additions & 12 deletions

File tree

samples/cfact4.mlc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
FACT = n: n (p, q: MULT q (p (SUCC q))) (K C1) C1;
2-
3-
MINUS (C3 C3) (FACT C4)
1+
MINUS (C3 C3) (CFACT C4)
42
# v1, v2: v1 (v1 (v1 v2))

samples/cfact5.mlc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
FACT = n: n (p, q: MULT q (p (SUCC q))) (K C1) C1;
2-
3-
MINUS (C3 C5) (FACT C5)
1+
MINUS (C3 C5) (CFACT C5)
42
# v1, v2: v1 (v1 (v1 (v1 (v1 v2))))

samples/lib.mlc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,5 @@ PRED = n: (f, x: n (g, h: h (g f)) (K x) I);
2525
MINUS = m, n: n PRED m;
2626
ZERO = n: n (K F) T;
2727
Y = (a: a a) (self, f: f (self self f));
28+
YFACT = Y (self, n: (ZERO n) C1 (MULT n (self (PRED n))));
29+
CFACT = n: n (p, q: MULT q (p (SUCC q))) (K C1) C1;

samples/yfact4.mlc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
FACT = Y (self, n: (ZERO n) C1 (MULT n (self (PRED n))));
2-
3-
MINUS (C3 C3) (FACT C4)
1+
MINUS (C3 C3) (YFACT C4)
42
# v1, v2: v1 (v1 (v1 v2))

samples/yfact5.mlc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
1-
FACT = Y (self, n: (ZERO n) C1 (MULT n (self (PRED n))));
2-
3-
MINUS (C3 C5) (FACT C5)
1+
MINUS (C3 C5) (YFACT C5)
42
# v1, v2: v1 (v1 (v1 (v1 (v1 v2))))

0 commit comments

Comments
 (0)