9c60eed93c
The problem is that unique names depend on the order compilation units are initialized. The order of initialization is not specified by the C++ standard. Then, different compilers (or even the same compiler) may produce different initialization orders, and consequently the metavariable prefix is going to be different for different builds. This is not a bug, but it makes unit tests to fail since the output produced by different builds is different for the same input file. Avoiding unique name feature in the default metavariable prefix avoids this problem. Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
121 lines
5.4 KiB
Text
121 lines
5.4 KiB
Text
Set: pp::colors
|
||
Set: pp::unicode
|
||
Failed to solve
|
||
⊢ (?M::0 ≈ Nat::add) ⊕ (?M::0 ≈ Int::add) ⊕ (?M::0 ≈ Real::add)
|
||
(line: 1: pos: 10) Overloading at
|
||
(Real::add | Int::add | Nat::add) 1 ⊤
|
||
Failed to solve
|
||
⊢ Bool ≺ ℕ
|
||
Substitution
|
||
⊢ Bool ≺ ?M::8
|
||
(line: 1: pos: 10) Type of argument 2 must be convertible to the expected type in the application of
|
||
?M::0
|
||
with arguments:
|
||
?M::1 1
|
||
⊤
|
||
Assignment
|
||
⊢ ℕ ≈ ?M::8
|
||
Destruct/Decompose
|
||
⊢ ℕ → ℕ ≈ Π x : ?M::8, ?M::9 x
|
||
Substitution
|
||
⊢ (?M::7[inst:0 (?M::1 1)]) (?M::1 1) ≈ Π x : ?M::8, ?M::9 x
|
||
(line: 1: pos: 10) Function expected at
|
||
?M::0 (?M::1 1) ⊤
|
||
Assignment
|
||
_ : ℕ ⊢ λ x : ℕ, ℕ → ℕ ≈ ?M::7
|
||
Destruct/Decompose
|
||
_ : ℕ ⊢ ℕ → ℕ ≈ ?M::7 _
|
||
Destruct/Decompose
|
||
⊢ ℕ → ℕ → ℕ ≈ Π x : ?M::6, ?M::7 x
|
||
Substitution
|
||
⊢ ?M::2 ≈ Π x : ?M::6, ?M::7 x
|
||
(line: 1: pos: 10) Function expected at
|
||
?M::0 (?M::1 1) ⊤
|
||
Assignment
|
||
⊢ ℕ → ℕ → ℕ ≺ ?M::2
|
||
Propagate type, ?M::0 : ?M::2
|
||
Assignment
|
||
⊢ ?M::0 ≈ Nat::add
|
||
Assumption 0
|
||
Failed to solve
|
||
⊢ Bool ≺ ℤ
|
||
Substitution
|
||
⊢ Bool ≺ ?M::8
|
||
(line: 1: pos: 10) Type of argument 2 must be convertible to the expected type in the application of
|
||
?M::0
|
||
with arguments:
|
||
?M::1 1
|
||
⊤
|
||
Assignment
|
||
⊢ ℤ ≈ ?M::8
|
||
Destruct/Decompose
|
||
⊢ ℤ → ℤ ≈ Π x : ?M::8, ?M::9 x
|
||
Substitution
|
||
⊢ (?M::7[inst:0 (?M::1 1)]) (?M::1 1) ≈ Π x : ?M::8, ?M::9 x
|
||
(line: 1: pos: 10) Function expected at
|
||
?M::0 (?M::1 1) ⊤
|
||
Assignment
|
||
_ : ℤ ⊢ λ x : ℤ, ℤ → ℤ ≈ ?M::7
|
||
Destruct/Decompose
|
||
_ : ℤ ⊢ ℤ → ℤ ≈ ?M::7 _
|
||
Destruct/Decompose
|
||
⊢ ℤ → ℤ → ℤ ≈ Π x : ?M::6, ?M::7 x
|
||
Substitution
|
||
⊢ ?M::2 ≈ Π x : ?M::6, ?M::7 x
|
||
(line: 1: pos: 10) Function expected at
|
||
?M::0 (?M::1 1) ⊤
|
||
Assignment
|
||
⊢ ℤ → ℤ → ℤ ≺ ?M::2
|
||
Propagate type, ?M::0 : ?M::2
|
||
Assignment
|
||
⊢ ?M::0 ≈ Int::add
|
||
Assumption 2
|
||
Failed to solve
|
||
⊢ Bool ≺ ℝ
|
||
Substitution
|
||
⊢ Bool ≺ ?M::8
|
||
(line: 1: pos: 10) Type of argument 2 must be convertible to the expected type in the application of
|
||
?M::0
|
||
with arguments:
|
||
?M::1 1
|
||
⊤
|
||
Assignment
|
||
⊢ ℝ ≈ ?M::8
|
||
Destruct/Decompose
|
||
⊢ ℝ → ℝ ≈ Π x : ?M::8, ?M::9 x
|
||
Substitution
|
||
⊢ (?M::7[inst:0 (?M::1 1)]) (?M::1 1) ≈ Π x : ?M::8, ?M::9 x
|
||
(line: 1: pos: 10) Function expected at
|
||
?M::0 (?M::1 1) ⊤
|
||
Assignment
|
||
_ : ℝ ⊢ λ x : ℝ, ℝ → ℝ ≈ ?M::7
|
||
Destruct/Decompose
|
||
_ : ℝ ⊢ ℝ → ℝ ≈ ?M::7 _
|
||
Destruct/Decompose
|
||
⊢ ℝ → ℝ → ℝ ≈ Π x : ?M::6, ?M::7 x
|
||
Substitution
|
||
⊢ ?M::2 ≈ Π x : ?M::6, ?M::7 x
|
||
(line: 1: pos: 10) Function expected at
|
||
?M::0 (?M::1 1) ⊤
|
||
Assignment
|
||
⊢ ℝ → ℝ → ℝ ≺ ?M::2
|
||
Propagate type, ?M::0 : ?M::2
|
||
Assignment
|
||
⊢ ?M::0 ≈ Real::add
|
||
Assumption 5
|
||
Assumed: R
|
||
Assumed: T
|
||
Assumed: r2t
|
||
Coercion r2t
|
||
Assumed: t2r
|
||
Coercion t2r
|
||
Assumed: f
|
||
Assumed: a
|
||
Assumed: b
|
||
Set: lean::pp::coercion
|
||
Set: lean::pp::notation
|
||
f a b
|
||
f (r2t b) (t2r a)
|
||
Assumed: g
|
||
f a b
|
||
f (r2t b) (t2r a)
|