Builtin simproc declaration extension state.
It contains:
- The discrimination tree keys for each simproc (including symbolic evaluation procedures) name.
- The actual procedure associated with a name.
- keys : Std.HashMap Name (Array SimpTheoremKey)
- procs : Std.HashMap Name (Simproc ⊕ DSimproc)
Instances For
This global reference is populated using the command builtin_simproc_pattern%
.
This reference is then used to process the attributes builtin_simproc
and builtin_sevalproc
.
Both attributes need the keys and the actual procedure registered using the command builtin_simproc_pattern%
.
- declName : Name
- keys : Array SimpTheoremKey
Instances For
- builtin : Std.HashMap Name (Array SimpTheoremKey)
- newEntries : PHashMap Name (Array SimpTheoremKey)
Instances For
Equations
Equations
Instances For
Given a declaration name declName
, store the discrimination tree keys and the actual procedure.
This method is invoked by the command builtin_simproc_pattern%
elaborator.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Builtin symbolic evaluation procedures.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Similar to try
, but only consider DSimproc
case. That is, if s.proc
is a Simproc
, treat it as a .continue
.
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Equations
Instances For
Try to retrieve the simproc set using the simp
or simproc
attribute names.
Recall that when we declare a simp
set using register_simp_attr
, an associated
simproc
set is automatically created. We use the function simpAttrNameToSimprocAttrName
to
find the simproc
associated with the simp
attribute.