Struct pocket_prover_set::Set
[−]
[src]
pub struct Set { pub any: u64, pub uniq: u64, pub fin_many: u64, pub inf_many: u64, }
Conditions that holds for a set in general.
Fields
any: u64
All types, including those who are not defined.
uniq: u64
A unique value.
fin_many: u64
Many but finite number of values.
inf_many: u64
Many but infinite number of values.
Methods
impl Set
[src]
fn rules(&self) -> u64
[src]
Rules for sets.
fn none(&self) -> u64
[src]
Returns whether the set is empty.
fn some(&self) -> u64
[src]
Returns whether the set is non-empty.
fn undefined(&self) -> u64
[src]
Returns whether the set is undefined. This can be a set of higher cardinality.
fn multiple(&self) -> u64
[src]
Returns whether the set contains more than one. The set must be well defined.
fn count<F: Fn(Set) -> u64>(f: F) -> u32
[src]
Counts the number of true cases.
Trait Implementations
impl Copy for Set
[src]
impl Clone for Set
[src]
fn clone(&self) -> Set
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Prove for Set
[src]
fn prove<F: Fn(Set) -> u64>(f: F) -> bool
[src]
A method to prove a statement according to the rules.
fn does_not_mean<F, G>(assumption: F, conclusion: G) -> bool where
F: Fn(Self) -> u64,
G: Fn(Self) -> u64,
[src]
F: Fn(Self) -> u64,
G: Fn(Self) -> u64,
According to the rules, the assumption does not lead to the conclusion, but neither does it lead to the opposite conclusion. Read more
fn means<F, G>(assumption: F, conclusion: G) -> bool where
F: Fn(Self) -> u64,
G: Fn(Self) -> u64,
[src]
F: Fn(Self) -> u64,
G: Fn(Self) -> u64,
According to the rules, the conclusion follows from the assumptions, but the assumptions can not be used to get the opposite conclusion. Read more
fn eq<F, G>(a: F, b: G) -> bool where
F: Fn(Self) -> u64,
G: Fn(Self) -> u64,
[src]
F: Fn(Self) -> u64,
G: Fn(Self) -> u64,
Proves that according to the rules, two statements are equivalent.
fn exc<F, G>(a: F, b: G) -> bool where
F: Fn(Self) -> u64,
G: Fn(Self) -> u64,
[src]
F: Fn(Self) -> u64,
G: Fn(Self) -> u64,
Proves that according to the rules, two statements are exclusive.
fn imply<F, G>(a: F, b: G) -> bool where
F: Fn(Self) -> u64,
G: Fn(Self) -> u64,
[src]
F: Fn(Self) -> u64,
G: Fn(Self) -> u64,
Proves that according to the rules, the first statement implies the other.