forked from GitHub/gf-core
operations in the abstract syntax
This commit is contained in:
13
testsuite/compiler/check/abstract-operations/Nat.gf
Normal file
13
testsuite/compiler/check/abstract-operations/Nat.gf
Normal file
@@ -0,0 +1,13 @@
|
||||
abstract Nat = {
|
||||
|
||||
cat Nat ;
|
||||
data zero : Nat ;
|
||||
succ : Nat -> Nat ;
|
||||
|
||||
oper plus : Nat -> Nat -> Nat ;
|
||||
def plus zero y = y ;
|
||||
plus (succ x) y = succ (plus x y) ;
|
||||
|
||||
oper twice : Nat -> Nat = \x -> plus x x ;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
-- here we test that the abstract operations are not used for proof search
|
||||
|
||||
i testsuite\compiler\check\abstract-operations\Nat.gf
|
||||
gt -cat=Nat -number=10 -depth=10
|
||||
pt -compute (twice (succ zero))
|
||||
@@ -0,0 +1,13 @@
|
||||
zero
|
||||
succ zero
|
||||
succ (succ zero)
|
||||
succ (succ (succ zero))
|
||||
succ (succ (succ (succ zero)))
|
||||
succ (succ (succ (succ (succ zero))))
|
||||
succ (succ (succ (succ (succ (succ zero)))))
|
||||
succ (succ (succ (succ (succ (succ (succ zero))))))
|
||||
succ (succ (succ (succ (succ (succ (succ (succ zero)))))))
|
||||
succ (succ (succ (succ (succ (succ (succ (succ (succ zero))))))))
|
||||
|
||||
succ (succ zero)
|
||||
|
||||
Reference in New Issue
Block a user