pub struct NativeDecisions { /* private fields */ }Expand description
The native decisions of one export.
Implementations§
Source§impl NativeDecisions
impl NativeDecisions
Sourcepub fn read(export: &str) -> NativeDecisions
pub fn read(export: &str) -> NativeDecisions
Recognize every leaf of export. An export that never names Lean.ofReduceBool costs one
substring scan. Nothing is refused here: an export the tables cannot read has no leaves, and
the importer reports what is wrong with it.
Sourcepub fn decisions(&self) -> impl Iterator<Item = &NativeDecision>
pub fn decisions(&self) -> impl Iterator<Item = &NativeDecision>
Every leaf, in expression order.
Sourcepub fn rederive(&self, record: Value) -> Value
pub fn rederive(&self, record: Value) -> Value
The expression record LOGOS reads in place of record: a leaf’s premise applied to Lean’s
evaluation step itself, of_decide_eq_true p inst (Eq.refl.{1} Bool Bool.true). Every other
record is returned as it is.
Sourcepub fn rederivations(&self) -> Vec<Rederivation>
pub fn rederivations(&self) -> Vec<Rederivation>
Every declaration whose type or value holds a leaf, in export order.
Sourcepub fn closure_of(&self, target: &str) -> Elimination
pub fn closure_of(&self, target: &str) -> Elimination
The closure of target (a kernel name) as Lean’s #print axioms walks it — a definition,
theorem or opaque through its type and value, an inductive through its type and constructors,
a constructor or recursor through its type, an axiom not at all — with every leaf read as
its re-derivation.
Auto Trait Implementations§
impl Freeze for NativeDecisions
impl RefUnwindSafe for NativeDecisions
impl Send for NativeDecisions
impl Sync for NativeDecisions
impl Unpin for NativeDecisions
impl UnsafeUnpin for NativeDecisions
impl UnwindSafe for NativeDecisions
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.