Skip to content

Commit 78d50a2

Browse files
committed
cleanup
1 parent fbe1a64 commit 78d50a2

File tree

1 file changed

+1
-130
lines changed

1 file changed

+1
-130
lines changed

tests/lean/run/mangling.lean

Lines changed: 1 addition & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -532,19 +532,6 @@ theorem checkLowerHex_encodeHex :
532532
generalize val / 16 ^ k % 16 = c at h''
533533
decide +revert
534534

535-
/-
536-
{
537-
offset :=
538-
{
539-
byteIdx :=
540-
((s.push 'x').posBetween
541-
(encodeHex 2 pc.val.toNat ++
542-
(pt.mangle ++
543-
mangleSuffix (b || tailUnderscore (String.singleton pc ++ pt)) nm))).offset.byteIdx +
544-
2 },
545-
isValid := ⋯ }
546-
-/
547-
548535
@[simp]
549536
theorem utf8ByteSize_encodeHex {n val : Nat} :
550537
(encodeHex n val).utf8ByteSize = n := by
@@ -1039,95 +1026,6 @@ theorem demangleAux_decodeNum_cast {s t : String} (h : s = t) {p : s.ValidPos}
10391026
demangleAux.decodeNum t (p.cast h) res n = demangleAux.decodeNum s p res n := by
10401027
cases h; rfl
10411028

1042-
macro "term_tactic" : tactic =>
1043-
`(tactic| all_goals first
1044-
| with_reducible apply String.ValidPos.remainingBytes_next_lt
1045-
| apply String.ValidPos.remainingBytes_next_lt_of_lt
1046-
apply String.ValidPos.lt_trans (String.ValidPos.lt_next _)
1047-
first
1048-
| with_reducible apply String.ValidPos.lt_next _
1049-
| apply Nat.lt_add_of_pos_right (by decide))
1050-
1051-
/-theorem demangleAux_normalize2 {s : String} {p : s.ValidPos}
1052-
(res : Name) (acc : String) {ucount : Nat} :
1053-
demangleAux s p res acc (ucount + 2) = res +-+ (demangleAux s p .anonymous "" ucount).prependStr acc := by-/
1054-
1055-
mutual
1056-
1057-
theorem demangleAux_normalize {s : String} {p : s.ValidPos}
1058-
(res : Name) (acc : String) {ucount : Nat} :
1059-
demangleAux s p res acc ucount = res +-+ (demangleAux s p .anonymous "" ucount).prependStr acc := by
1060-
fun_cases demangleAux s p res acc ucount
1061-
· rw [demangleAux, dif_pos ‹_›, prependStr, extend, extend, String.pushn_normalize]
1062-
· conv => rhs; rw [demangleAux, dif_neg ‹_›, if_pos ‹_›]
1063-
rw [demangleAux_normalize]
1064-
· conv => rhs; rw [demangleAux, dif_neg ‹_›, if_neg ‹_›, if_pos ‹_›]
1065-
conv => lhs; rw [demangleAux_normalize]
1066-
conv => rhs; rw [demangleAux_normalize]
1067-
rw [anonymous_extend, String.pushn_normalize, prependStr_prependStr, String.append_push]
1068-
· conv => rhs; rw [demangleAux, dif_neg ‹_›, if_neg ‹_›, if_neg ‹_›, if_pos ‹_›, dif_pos ‹_›]
1069-
conv => lhs; rw [demangleAux_normalize]
1070-
conv => rhs; rw [demangleAux_normalize]
1071-
rw [prependStr_empty, prependStr_str_anonymous_extend, ← extend_assoc, extend, extend,
1072-
← String.pushn_normalize]
1073-
· conv => rhs; rw [demangleAux, dif_neg ‹_›, if_neg ‹_›, if_neg ‹_›, if_pos ‹_›, dif_neg ‹_›]
1074-
conv => lhs; rw [demangleAux_decodeNum_normalize]
1075-
conv => rhs; rw [demangleAux_decodeNum_normalize]
1076-
rw [prependStr_str_anonymous_extend, ← String.pushn_normalize, ← extend_assoc, extend, extend]
1077-
· conv => rhs; rw [demangleAux, dif_neg ‹_›, if_neg ‹_›, if_neg ‹_›, if_neg ‹_›, dif_pos ‹_›]
1078-
conv => lhs; rw [demangleAux_normalize]
1079-
conv => rhs; rw [demangleAux_normalize]
1080-
rw [anonymous_extend, prependStr_prependStr, String.append_push, ← String.pushn_normalize]
1081-
· conv => rhs; rw [demangleAux, dif_neg ‹_›, if_neg ‹_›, if_neg ‹_›, if_neg ‹_›, dif_neg ‹_›, dif_pos ‹_›]
1082-
conv => lhs; rw [demangleAux_normalize]
1083-
conv => rhs; rw [demangleAux_normalize]
1084-
rw [anonymous_extend, prependStr_prependStr, String.append_push, ← String.pushn_normalize]
1085-
· conv => rhs; rw [demangleAux, dif_neg ‹_›, if_neg ‹_›, if_neg ‹_›, if_neg ‹_›, dif_neg ‹_›, dif_neg ‹_›, dif_pos ‹_›]
1086-
conv => lhs; rw [demangleAux_normalize]
1087-
conv => rhs; rw [demangleAux_normalize]
1088-
rw [anonymous_extend, prependStr_prependStr, String.append_push, ← String.pushn_normalize]
1089-
· conv => rhs; rw [demangleAux, dif_neg ‹_›, if_neg ‹_›, if_neg ‹_›, if_neg ‹_›, dif_neg ‹_›, dif_neg ‹_›, dif_neg ‹_›]
1090-
conv => lhs; rw [demangleAux_normalize]
1091-
conv => rhs; rw [demangleAux_normalize]
1092-
rw [prependStr_str_anonymous_extend, String.append_empty, ← extend_assoc, extend, extend]
1093-
termination_by p.remainingBytes
1094-
decreasing_by term_tactic
1095-
1096-
theorem demangleAux_decodeNum_normalize {s : String} {p : s.ValidPos} (res : Name) {i : Nat} :
1097-
demangleAux.decodeNum s p res i = res +-+ demangleAux.decodeNum s p .anonymous i := by
1098-
fun_cases demangleAux.decodeNum s p res i
1099-
· rw [demangleAux.decodeNum, dif_pos ‹_›, extend, extend]
1100-
· rw [demangleAux.decodeNum.eq_def _ _ anonymous, dif_neg ‹_›, if_pos ‹_›]
1101-
rw [demangleAux_decodeNum_normalize]
1102-
· rw [demangleAux.decodeNum, dif_neg ‹_›, if_neg ‹_›, dif_pos ‹_›]
1103-
rfl
1104-
· rw [demangleAux.decodeNum, dif_neg ‹_›, if_neg ‹_›, dif_neg ‹_›]
1105-
conv => lhs; rw [demangleAux_nameStart_normalize]
1106-
conv => rhs; rw [demangleAux_nameStart_normalize]
1107-
rw [← extend_assoc]
1108-
rfl
1109-
termination_by p.remainingBytes
1110-
decreasing_by term_tactic
1111-
1112-
theorem demangleAux_nameStart_normalize {s : String} {p : s.ValidPos} (res : Name) :
1113-
demangleAux.nameStart s p res = res +-+ demangleAux.nameStart s p .anonymous := by
1114-
fun_cases demangleAux.nameStart s p res
1115-
· rw [demangleAux.nameStart, dif_pos ‹_›, extend]
1116-
· rw [demangleAux.nameStart, dif_neg ‹_›, if_pos ‹_›, dif_pos ‹_›]
1117-
rw [demangleAux_normalize, prependStr_empty]
1118-
· rw [demangleAux.nameStart, dif_neg ‹_›, if_pos ‹_›, dif_neg ‹_›]
1119-
rw [demangleAux_decodeNum_normalize]
1120-
· rw [demangleAux.nameStart, dif_neg ‹_›, if_neg ‹_›, if_pos ‹_›]
1121-
rw [demangleAux_normalize, prependStr_empty]
1122-
· rw [demangleAux.nameStart, dif_neg ‹_›, if_neg ‹_›, if_neg ‹_›]
1123-
conv => lhs; rw [demangleAux_normalize]
1124-
conv => rhs; rw [demangleAux_normalize]
1125-
rw [anonymous_extend]
1126-
termination_by p.remainingBytes
1127-
decreasing_by term_tactic
1128-
1129-
end
1130-
11311029
def tailUnderscore (s : String) : Bool :=
11321030
∃ h, (s.endValidPos.prev h).get (by simp) = '_'
11331031

@@ -1634,10 +1532,6 @@ theorem demangleAux_nameStart_normal_str {s s' t : String} {n res : Name}
16341532
· rintro rfl
16351533
simp only [checkDisambiguation_pushHex__U, Bool.true_eq_false] at h
16361534

1637-
/-macro_rules
1638-
| `(tactic| induction $[using $t]? $[generalizing $g*]? $(alts?)?) =>
1639-
`(tactic| induction $(⟨#[]⟩):elimTarget,* $[using $t:term]? $[generalizing $g*]? $(alts?)?)-/
1640-
16411535
@[simp]
16421536
theorem tailUnderscore_or (b : Bool) (pc : Char) (pt : String) :
16431537
(b || tailUnderscore (String.singleton pc ++ pt) || tailUnderscore pt) =
@@ -1646,29 +1540,6 @@ theorem tailUnderscore_or (b : Bool) (pc : Char) (pt : String) :
16461540
rintro ⟨t, rfl⟩
16471541
exact .inr ⟨String.singleton pc ++ t, String.append_push _⟩
16481542

1649-
/-
1650-
t s : String
1651-
res : Name
1652-
acc : String
1653-
nm : Name
1654-
b : Bool
1655-
tc : Char
1656-
t' : String
1657-
htc : t = String.singleton tc ++ t'
1658-
htc1 : ¬tc = '_'
1659-
pc : Char
1660-
pt : String
1661-
h✝¹ : ¬(pc.isAlpha || pc.isDigit) = true
1662-
h✝ : pc = '_'
1663-
u : Nat
1664-
hu : (2 * (u + 1) + 1) % 2 = 1
1665-
h : pt.mangle ++ mangleSuffix (b || tailUnderscore (String.singleton pc ++ pt)) nm =
1666-
"".pushn '_' (2 * u + 1) ++ (String.singleton tc ++ t')
1667-
⊢ Lean.Name.demangleAux✝ (s ++ (String.singleton tc ++ t')) (s.posBetween (String.singleton tc ++ t')) res acc
1668-
(2 * u + 2 + 1) =
1669-
res.str (acc ++ (String.singleton pc ++ pt)) +-+! nm
1670-
-/
1671-
16721543
theorem checkDisambiguation_of_mangle_append_mangleSuffix_eq
16731544
(h : pt.mangle ++ mangleSuffix b nm =
16741545
"".pushn '_' (2 * u + 1) ++ t)
@@ -1754,7 +1625,7 @@ theorem demangleAux_ucount_output (hc : c ≠ '_')
17541625
· exfalso
17551626
replace h := checkDisambiguation_of_mangle_append_mangleSuffix_eq (sl := s) h (by simpa using Or.inr) hc rfl
17561627
rename_i ch p hu _ hds h_x h_u h_U
1757-
simp only [String.get_posBetween_singleton_append, ↓Char.isValue, Bool.not_eq_true,
1628+
simp only [String.get_posBetween_singleton_append, Bool.not_eq_true,
17581629
String.next_posBetween_singleton_append, checkLowerHex_cast, not_and, ch, p]
17591630
at hu hds h_x h_u h_U
17601631
rw [Bool.eq_false_iff, ne_eq, Char.isDigit, ← Bool.decide_and, decide_eq_true_eq, ge_iff_le] at hds

0 commit comments

Comments
 (0)