pub struct Definition {
pub name: String,
pub params: Vec<String>,
pub definiens: ProofExpr,
}Expand description
A user-introduced predicate definition (Rung 0a), expressed in the proof
layer’s own vocabulary so logicaffeine_proof keeps its
no-language-dependency invariant. Read as name(params) :↔ definiens.
Registered as a δ-unfoldable kernel definition (not an inlined expansion), so
the definiendum stays a first-class, citable node: bachelor(x) remains
bachelor(x) in the proposition, defeq to its meaning by δ-reduction.
Fields§
§name: StringThe definiendum predicate name (e.g. "bachelor").
params: Vec<String>The parameter names the definiendum binds (e.g. ["x"]).
definiens: ProofExprThe definiens — the body the definiendum abbreviates.
Trait Implementations§
Source§impl Clone for Definition
impl Clone for Definition
Source§fn clone(&self) -> Definition
fn clone(&self) -> Definition
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for Definition
impl RefUnwindSafe for Definition
impl Send for Definition
impl Sync for Definition
impl Unpin for Definition
impl UnsafeUnpin for Definition
impl UnwindSafe for Definition
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
Mutably borrows from an owned value. Read more