Struct mm0_util::AtomId[][src]

pub struct AtomId(pub u32);
Expand description

An index into a AtomVec

Tuple Fields

0: u32

Implementations

The atom _. The blank, used to represent wildcards in match

The atom !. In refine, (! thm x y e1 e2 p1 p2) allows passing bound and regular variables, in addition to subproofs

The atom !!. In refine, (!! thm x y p1 p2) allows passing bound variables and subproofs but not regular variables, in addition to subproofs

The atom :verb. In refine, (:verb p) allows passing an elaborated proof term p in a refine script (without this, the applications in p would be interpreted incorrectly)

The atom :conv. In elaborated proofs, (:conv e c p) is a conversion proof. (The initial colon avoids name collision with MM0 theorems, which don’t allow : in identifiers.)

The atom :sym. In elaborated proofs, (:sym c) is a proof of symmetry. (The initial colon avoids name collision with MM0 theorems, which don’t allow : in identifiers.)

The atom :unfold. In elaborated proofs, (:unfold t es c) is a proof of definitional unfolding. (The initial colon avoids name collision with MM0 theorems, which don’t allow : in identifiers.)

The atom :let. In MMU proofs, (:let h p1 p2) is a let-binding for supporting deduplication.

The atom :. In refine, {p : t} is a type ascription for proofs.

The atom ?. In refine, ? is a proof by “sorry” (stubbing the proof without immediate error)

The atom term. term is an atom used by add-decl to add a term/def declaration

The atom def. def is an atom used by add-decl to add a term/def declaration

The atom axiom. axiom is an atom used by add-decl to add an axiom/theorem declaration

The atom theorem. theorem is an atom used by add-decl to add an axiom/theorem declaration

The atom pub. pub is an atom used to specify the visibility modifier in add-decl

The atom abstract. abstract is an atom used to specify the visibility modifier in add-decl

The atom local. local is an atom used to specify the visibility modifier in add-decl

The atom :sorry. :sorry is an atom used by get-decl to print missing proofs

The atom error. error is an error level recognized by set-reporting

The atom warn. warn is an error level recognized by set-reporting

The atom info. info is an error level recognized by set-reporting

The atom annotate. The annotate function is a callback used to define what happens when an annotation like @foo def bar = ... is used.

The atom refine-extra-args. The refine-extra-args function is a callback used when an application in refine uses too many arguments.

The atom to-expr-fallback. to-expr-fallback is called when elaborating a term that is not otherwise recognized

Map a function over the list of atom constants (in increasing order).

Convert this newtyped integer into its underlying integer.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns an estimation of the heap-managed storage of this object. This does not include the size of the object itself. Read more

Returns an estimation of a total size of memory owned by the object, including heap-managed storage. Read more

Returns an estimation of a total size of memory owned by the object, including heap-managed storage. Read more

Returns the “default value” for a type. Read more

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

The returned type after indexing.

Performs the indexing (container[index]) operation. Read more

Performs the mutable indexing (container[index]) operation. Read more

This method returns an Ordering between self and other. Read more

Compares and returns the maximum of two values. Read more

Compares and returns the minimum of two values. Read more

Restrict a value to a certain interval. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.