This PR updates various error messages produced by or associated with built-in tactics and adapts their formatting to current conventions.
51 lines
1.1 KiB
Text
51 lines
1.1 KiB
Text
set_option pp.mvars false
|
|
|
|
structure Note where
|
|
pitch : UInt64
|
|
start : Nat
|
|
|
|
def Note.containsNote (n1 n2 : Note) : Prop :=
|
|
n1.start ≤ n2.start
|
|
|
|
def Note.lowerSemitone (n : Note) : Note :=
|
|
{ n with pitch := n.pitch - 1 }
|
|
|
|
theorem Note.self_containsNote_lowerSemitone_self (n : Note) :
|
|
n.containsNote (Note.lowerSemitone n) := by
|
|
simp [Note.containsNote, Note.lowerSemitone]
|
|
|
|
/--
|
|
error: Type mismatch
|
|
rfl
|
|
has type
|
|
?_ = ?_
|
|
but is expected to have type
|
|
n = n - 1
|
|
-/
|
|
#guard_msgs in
|
|
set_option maxRecDepth 100 in
|
|
set_option maxHeartbeats 200 in
|
|
example (n : UInt64) : n = n - 1 :=
|
|
rfl
|
|
|
|
namespace Ex2
|
|
|
|
def lowerSemitone := fun (n : Note) => Note.mk (n.1 - 0) n.2
|
|
|
|
set_option maxRecDepth 100 in
|
|
theorem Note.self_containsNote_lowerSemitone_self (n : Note) :
|
|
0 ≤ (lowerSemitone n).start :=
|
|
(Nat.zero_le (Note.start n))
|
|
|
|
end Ex2
|
|
|
|
namespace Ex3
|
|
|
|
def lowerSemitone := fun (n : Note) => Note.mk (n.1 + 100) n.2
|
|
|
|
set_option maxRecDepth 200 in
|
|
theorem Note.self_containsNote_lowerSemitone_self (n : Note) :
|
|
0 ≤ (lowerSemitone n).start :=
|
|
(Nat.zero_le (Note.start n))
|
|
|
|
end Ex3
|