Skip to main content

AlgebraicSignature

Struct AlgebraicSignature 

Source
pub struct AlgebraicSignature {
    pub carrier: Sort,
    /* private fields */
}
Expand description

Backend-agnostic signature for an algebraic structure.

This lets Phase 12 build proof obligations from a reusable semantic model instead of ad-hoc raw strings at each export site.

Fields§

§carrier: Sort

Implementations§

Source§

impl AlgebraicSignature

Source

pub fn new(carrier: Sort) -> AlgebraicSignature

Source

pub fn semigroup( carrier: Sort, combine: impl Into<String>, ) -> AlgebraicSignature

Source

pub fn monoid( carrier: Sort, combine: impl Into<String>, identity: impl Into<String>, ) -> AlgebraicSignature

Source

pub fn group( carrier: Sort, combine: impl Into<String>, identity: impl Into<String>, inverse: impl Into<String>, ) -> AlgebraicSignature

Source

pub fn semiring( carrier: Sort, add: impl Into<String>, mul: impl Into<String>, zero: impl Into<String>, one: impl Into<String>, ) -> AlgebraicSignature

Source

pub fn lattice( carrier: Sort, meet: impl Into<String>, join: impl Into<String>, ) -> AlgebraicSignature

Source

pub fn with_binary( self, role: impl Into<String>, symbol: impl Into<String>, ) -> AlgebraicSignature

Source

pub fn with_unary( self, role: impl Into<String>, symbol: impl Into<String>, ) -> AlgebraicSignature

Source

pub fn with_constant( self, role: impl Into<String>, symbol: impl Into<String>, ) -> AlgebraicSignature

Source

pub fn binary(&self, role: &str) -> Option<&str>

Source

pub fn unary(&self, role: &str) -> Option<&str>

Source

pub fn constant(&self, role: &str) -> Option<&str>

Source

pub fn require_binary(&self, role: &str) -> &str

Source

pub fn require_unary(&self, role: &str) -> &str

Source

pub fn require_constant(&self, role: &str) -> &str

Trait Implementations§

Source§

impl Clone for AlgebraicSignature

Source§

fn clone(&self) -> AlgebraicSignature

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for AlgebraicSignature

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl PartialEq for AlgebraicSignature

Source§

fn eq(&self, other: &AlgebraicSignature) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for AlgebraicSignature

Source§

impl StructuralPartialEq for AlgebraicSignature

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.