aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/output/PatternsInBinders.out
blob: 6a28475d7b81f0200ffca5cb835566fe21c8e87a (plain)
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
swap = fun '(x, y) => (y, x)
     : A * B -> B * A
fun '(x, y) => (y, x)
     : A * B -> B * A
forall '(x, y), swap (x, y) = (y, x)
     : Prop
proj_informative = fun 'exist _ x _ => x : A
     : {x : A | P x} -> A
foo = fun 'Bar n b tt p => if b then n + p else n - p
     : Foo -> nat
baz = 
fun 'Bar n1 _ tt p1 => fun 'Bar _ _ tt _ => n1 + p1
     : Foo -> Foo -> nat
λ '(x, y), (y, x)
     : A * B → B * A
∀ '(x, y), swap (x, y) = (y, x)
     : Prop
swap = 
fun (A B : Type) (pat : A * B) => let '(x, y) := pat in (y, x)
     : forall A B : Type, A * B -> B * A

Arguments A, B are implicit and maximally inserted
Argument scopes are [type_scope type_scope _]
forall (A B : Type) (pat : A * B), let '(x, y) := pat in swap (x, y) = (y, x)
     : Prop
exists pat : A * A, let '(x, y) := pat in swap (x, y) = (y, x)
     : Prop
both_z = 
fun pat : nat * nat =>
let '(n, p) as pat0 := pat return (F pat0) in (Z n, Z p) : F (n, p)
     : forall pat : nat * nat, F pat