You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Manual/Grind/EMatching.lean
+22Lines changed: 22 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -305,6 +305,8 @@ grindExt
305
305
grindFunCC
306
306
grindFwd
307
307
grindGen
308
+
grindHom
309
+
grindHomPred
308
310
grindInj
309
311
grindIntro
310
312
grindLR
@@ -643,6 +645,26 @@ norm
643
645
{includeDocstring Lean.Parser.Attr.grindNorm}
644
646
:::
645
647
648
+
The {tactic}`grind` tactic can work with a source algebra that doesn't have a great deal of solving infrastructure (e.g. bitvectors) by “̲injecting”̲ it into another algebra that has more solving infrastructure (like natural numbers or integers).
649
+
Homomorphism rules describe the injection from source to target, and how the injection commutes with other operations (like addition or multiplication in the case of bitvectors).
650
+
Homomorphism predicates present additional facts that {tactic}`grind` can use about the injection (like that a bitvector of length $`n` corresponds to a natural number less than $`2^n`).
0 commit comments