lean4-htt/tests/lean/match1.lean.expected.out
Leonardo de Moura 84ff8d4a04 feat: store pending contraints during dependent pattern matching
It is a better solution for issues #1361 and #1279, and it was on the
to-do list for a while.
2022-08-03 17:45:55 -07:00

51 lines
1.4 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---- h1
10
---- h2
3
10
0
---- h3
10
30
4
---- inv
10
match1.lean:82:0-82:73: error: dependent elimination failed, type mismatch when solving alternative with type
motive 0 (Vec.cons head✝ Vec.nil) (_ : VecPred P (Vec.cons head✝ Vec.nil))
but expected
motive _fun_discr✝ (Vec.cons head✝ tail✝) (_ : VecPred P (Vec.cons head✝ tail✝))
[false, true, true]
match1.lean:119:0-119:41: error: dependent match elimination failed, inaccessible pattern found
.(j + j)
constructor expected
[false, true, true]
match1.lean:136:7-136:22: error: invalid match-expression, type of pattern variable 'a' contains metavariables
?m
fun x => ?m x : ?m × ?m → ?m
fun x =>
match x with
| (a, b) => a + b : Nat × Nat → Nat
fun x =>
match x with
| (a, b) => a && b : Bool × Bool → Bool
fun x =>
match x with
| (a, b) => a + b : Nat × Nat → Nat
fun x x_1 =>
match x, x_1 with
| some a, some b => some (a + b)
| x, x_2 => none : Option Nat → Option Nat → Option Nat
fun x =>
(match (motive := Nat → Nat → Nat) x with
| 0 => id
| Nat.succ x => id)
x : Nat → Nat
fun x =>
match x with
| #[1, 2] => 2
| #[] => 0
| #[3, 4, 5] => 3
| x => 4 : Array Nat → Nat
g.match_1 : (motive : List ?m → Sort u_2) →
(x : List ?m) → ((a : ?m) → motive [a]) → ((x : List ?m) → motive x) → motive x
fun e => nomatch e : Empty → False