pub enum ConstructiveProp {
True,
False,
And(Box<ConstructiveProp>, Box<ConstructiveProp>),
Or(Box<ConstructiveProp>, Box<ConstructiveProp>),
Not(Box<ConstructiveProp>),
Implies(Box<ConstructiveProp>, Box<ConstructiveProp>),
Exists(String, Box<ConstructiveProp>),
Forall(String, Box<ConstructiveProp>),
Atom(String, Vec<String>),
Eq(String, String),
}Expand description
A constructive proposition in intuitionistic logic.
Variants§
True
Logical truth (⊤).
False
Logical falsehood (⊥).
And(Box<ConstructiveProp>, Box<ConstructiveProp>)
Conjunction (P ∧ Q).
Or(Box<ConstructiveProp>, Box<ConstructiveProp>)
Disjunction (P ∨ Q).
Not(Box<ConstructiveProp>)
Negation (¬P), defined as P → ⊥.
Implies(Box<ConstructiveProp>, Box<ConstructiveProp>)
Implication (P → Q).
Exists(String, Box<ConstructiveProp>)
Existential quantification (∃x. P(x)).
Forall(String, Box<ConstructiveProp>)
Universal quantification (∀x. P(x)).
Atom(String, Vec<String>)
Atomic proposition with arguments.
Eq(String, String)
Propositional equality of two terms.
Trait Implementations§
Source§impl Clone for ConstructiveProp
impl Clone for ConstructiveProp
Source§fn clone(&self) -> ConstructiveProp
fn clone(&self) -> ConstructiveProp
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConstructiveProp
impl Debug for ConstructiveProp
Source§impl PartialEq for ConstructiveProp
impl PartialEq for ConstructiveProp
impl Eq for ConstructiveProp
impl StructuralPartialEq for ConstructiveProp
Auto Trait Implementations§
impl Freeze for ConstructiveProp
impl RefUnwindSafe for ConstructiveProp
impl Send for ConstructiveProp
impl Sync for ConstructiveProp
impl Unpin for ConstructiveProp
impl UnsafeUnpin for ConstructiveProp
impl UnwindSafe for ConstructiveProp
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