Edit on GitHub

pytact.graph_api_capnp_cython

class Graph_Node_Reader:

Graph_Node_Reader(_DynamicStructReader dyn)

Fits exactly in 128 bits. A node has a label that optionally contains some additional information, together with a list of outgoing edges (children).

Graph_Node_Reader(*args, **kwargs)
dynamic
label

Inlined for efficiency purposes Proof state Hash a unique id (evar) for the proof state that distinquishes proof states with identical contents but do not point to the same object nonetheless

children_index
children_count

The children of a node are encoded as a range withing the edges-list of the graph.

identity

The identity of a node uniquely determines it. That is, one can consider any to nodes with the same identity to be equal. The notion of equal we use is as follows:

  1. Graph perspective: Two nodes have the same identity if and only if they are bisimilar. In this notion, bisimilarity does take into consideration the label of the nodes, modulo some equivalence class that is not fully specified here. One aspect of the equivalence class is that for definition nodes their associated global context (accessed through Definition.previous) is not taken into account.
  2. Lambda calculus perspective: Two nodes have the same identity if their corresponding lambda terms are alpha-equivalent. Note that two definitions with the same body are not considered alpha-equivalent.

The identity of a node is used to perform partial graph-sharing. That is, two nodes with the same identity are merged when the graph is generated. There are three reasons why two nodes with the same semantic identity might have a different physical identity:

  1. Nodes are only merged when the first node exists in the same graph as the second node, or exists in a dependent graph. Hence, nodes originating from developments that do not depend on each other are never merged. Full graph-sharing would require global analysis on a dataset, which any consumer can optionally do as a post-processing step.
  2. Two definition nodes with the same name and body have the same identity. But if they occur in different global contexts, these nodes are physically different to ensure the integrity of their global contexts.
  3. For definitions with an opaque proof, the sub-graph that represents this opaque proof is ignored while calculating the identity. Morally we defend this decision with the concept that opaque proofs are invisible in Coq (proof irrelevance) and two constants with different proofs might as well be considered equal. Practically speaking, this is done so that one can compare the identity of a definition in a dataset quickly to a identity of a live definition during Coq interaction without having to produce the entire graph of opaque proofs (which tend to be large).

Beware that the identity is currently a 64 bit field. For datasets that have graphs of size in the order of billions of nodes there is a non-trivial chance of a collision. (We consider this acceptable for machine learning purposes.)

class Graph_EdgeTarget_Reader:

Graph_EdgeTarget_Reader(_DynamicStructReader dyn)

Fits exactly in 64 bits. Let's keep it that way. The 'pointy' end of an edge, together with the label of that edge.

Graph_EdgeTarget_Reader(*args, **kwargs)
dynamic
label
target
class Graph_Reader:

Graph_Reader(_DynamicStructReader dyn)

A graph is the main data store (the 'heap') that contains the bulk of the data in the dataset and during communication with Coq. A graph is a collection of labeled nodes with directed, labeled edges between them. A graph may reference nodes from other graphs. For an edge 'A --> B' in the graph it always holds that 'A' is part of the current graph, but 'B' may (or may not) be part of another graph.

Graph_Reader(*args, **kwargs)
dynamic
nodes
has_nodes
edges

The main memory store of the graph. It acts as a heap similar to the main memory of a C/C++ program. The heap is accessed by indexing the nodes list using a NodeIndex which returns a Node. Every node has a label and a list of children, which is indicated as a range within the edges list using childrenIndex and childrenCount. The targets of the edges can again be found in the nodes list of the current file or of a dependency. Note that just like in C/C++ doing pointer arithmetic on the heap is undefined behavior, and you may encounter arbitrary garbage if you do this. In particular, iterating over the heap is discouraged. Instead, you should access the heap through various entry-points that are provided.

has_edges
class IntP_Reader:

IntP_Reader(_DynamicStructReader dyn)

IntP_Reader(*args, **kwargs)
dynamic
value
class Definition_Reader:

Definition_Reader(_DynamicStructReader dyn)

A definition of the CIC, which is either an constant, inductive, constructor, projection or section variable. Constants and section variables can have tactical proofs associated to them.

Definition_Reader(*args, **kwargs)
dynamic
which
which_raw
name

The fully-qualified name of the definition. The name should be unique in a particular global context, but is not unique among different branches of the global in a dataset.

has_name
previous

The previous definition within the global context of the current file. For the first definition this field is set to len(graph.nodes). The contract on this field is that any definition nodes reachable from the forward closure of the definition must also be reachable through the chain of previous fields. An exception to this rule are mutually recursive definitions. Those nodes are placed into the global context in an arbitrary ordering.

external_previous

This field provides information about the external global context. At any point in a source file other files 'X' can be loaded through 'Require X'. When this happens, the definitions of X that are reachable through its 'representative' field become available to all subsequent definitions.

has_external_previous
status

A definition can have different origins, which are encoded here

inductive
is_inductive
constructor
is_constructor
projection

These definitions are part of a mutually recursive cluster. They hold a reference to another definition that acts as the 'representative' of the mutually recursive cluster. The representative is chosen such that all definitions of the cluster are reachable through its previous pointer. Additionally, all definitions within the cluster have the same representative, and no definitions that are not part of the cluster are interleaved within the chain of previous nodes.

is_projection
manual_constant

A constant defined by directly inputting a term In the future, we might augment such constants with tactical refinement proofs that build the term iteratively.

is_manual_constant
tactical_constant

A constant that was either directly or indirectly generated by a tactical proof. Note that for non-original constants, the proof step sequence may not be very accurate.

is_tactical_constant
has_tactical_constant
manual_section_constant

A section variable or local section definition.

is_manual_section_constant
tactical_section_constant

Local section definitions can also be defined using a tactical proof.

is_tactical_section_constant
has_tactical_section_constant
type_text

A textual representation of the type of this definition.

has_type_text
term_text

A textual representation of the body of this definition. For inductives, constructors, projections, section variables and axioms the string is empty.

has_term_text
class FloatP_Reader:

FloatP_Reader(_DynamicStructReader dyn)

FloatP_Reader(*args, **kwargs)
dynamic
value
class Graph_Node_Label_Reader:

Graph_Node_Label_Reader(_DynamicStructReader dyn)

Inlined for efficiency purposes Proof state Hash a unique id (evar) for the proof state that distinquishes proof states with identical contents but do not point to the same object nonetheless

Graph_Node_Label_Reader(*args, **kwargs)
dynamic
which
which_raw
proof_state
is_proof_state
has_proof_state
context_def
is_context_def
context_assum
is_context_assum
definition
is_definition
has_definition
const_empty
is_const_empty
sort_s_prop
is_sort_s_prop
sort_prop
is_sort_prop
sort_set
is_sort_set
sort_type

Collapsed universe

is_sort_type
rel
is_rel
evar
is_evar
evar_subst
is_evar_subst
cast
is_cast
prod
is_prod
lambda_
is_lambda_
let_in
is_let_in
app
is_app
case
is_case
case_branch
is_case_branch
fix
is_fix
fix_fun
is_fix_fun
co_fix
is_co_fix
co_fix_fun
is_co_fix_fun
int
is_int
has_int
float
is_float
has_float
primitive
is_primitive
has_primitive
class Definition_Status_Substituted_Reader:

Definition_Status_Substituted_Reader(_DynamicStructReader dyn)

A definition that was obtained by performing some sort of module functor substitution. We reference the original definition.

Definition_Status_Substituted_Reader(*args, **kwargs)
dynamic
dep_index

Indicates to which graph a node belongs. How this should be resolved is not specified here. However, a value of zero always points to the 'current' graph.

node_index

The index into Graph.nodes where this node can be found.

class Definition_Status_Reader:

Definition_Status_Reader(_DynamicStructReader dyn)

A definition can have different origins, which are encoded here

Definition_Status_Reader(*args, **kwargs)
dynamic
which
which_raw
original

An object as originally inputted by the user.

is_original
discharged

a definition that was originally defined in a section and has now had the section variables discharged into it. The node index references the original definition.

is_discharged
substituted

A definition that was obtained by performing some sort of module functor substitution. We reference the original definition.

is_substituted
class ProofStep_Reader:

ProofStep_Reader(_DynamicStructReader dyn)

A proof step is the execution of a single tactic on one or more proof states, producing a list of outcomes.

ProofStep_Reader(*args, **kwargs)
dynamic
tactic

The tactic that generated the proof step. Note that the arguments of the tactic can be found in the individual outcomes, because they may be different for each outcome.

outcomes

A list of transformations of proof states to other proof states, as executed by the tactic of the proof step

has_outcomes
class Tactic_Reader:

Tactic_Reader(_DynamicStructReader dyn)

A concrete tactic with it's parameters determined. Somewhat strangely, this struct does not actually include these parameters. They can instead be found in Outcome.tacticArguments. The reason for this is that one tactic can run on multiple proof states at the same time and for all of those proof states, the arguments may be resolved differently.

Tactic_Reader(*args, **kwargs)
dynamic
ident

A hash representing the identity of a tactic without it's arguments. Due to the complexity of the syntax trees of Coq's tactics, we do not currently encode the syntax tree. Instead, this hash is a representative of the syntax tree of the tactic with all of it's arguments removed.

text

The full text of the tactic including the full arguments. This does not currently correspond to (ident, arguments) because in this dataset arguments do not include full terms, but only references to definitions and local context elements. Tactics are postprocessed to remove explicit naming of new hypotheses as much as possible, and instead asking Coq to invent a name.

has_text
base_text

A textual representation of the base tactic without arguments. It tries to roughly correspond to ident. Note, however, that this is both an under-approximation and an over-approximation. The reason is that tactic printing is not 100% isomorphic to Coq's internal AST of tactics. Sometimes, different tactics get mapped to the same text. Conversely, the same tactic may be mapped to different texts when identifiers are printed using different partially-qualified names.

has_base_text
interm_text

A textual representation that tries to come as close as possible to (ident, arguments). It comes with the same caveats as baseText.

has_interm_text
exact

Indicates whether or not ident + arguments is faithfully reversible into the original "strictified" tactic. Note that this does not necessarily mean that it represents exactly the tactic that was inputted by the user. All tactics are modified to be 'strict' (meaning that tactics that have delayed variables in them break). This flag measures the faithfulness of the representation w.r.t. the strict version of the tactic, not the original tactic inputted by the user.

text_non_anonymous

Same as text except that the tactic is not postprocessed to remove explicit naming of new hypotheses.

has_text_non_anonymous
class ProofStep_Tactic_Reader:

ProofStep_Tactic_Reader(_DynamicStructReader dyn)

The tactic that generated the proof step. Note that the arguments of the tactic can be found in the individual outcomes, because they may be different for each outcome.

ProofStep_Tactic_Reader(*args, **kwargs)
dynamic
which
which_raw
unknown

Sometimes a tactic cannot or should not be recorded. In those cases, it is marked as 'unknown'. This currently happens with tactics that are run as a result of the Proof with tac construct and it happens for tactics that are known to be unsafe like change_no_check, fix, cofix and more.

is_unknown
known

The tactic

is_known
has_known
class Outcome_Reader:

Outcome_Reader(_DynamicStructReader dyn)

An outcome is the result of running a tactic on a proof state. A tactic may run on multiple proof states.

Outcome_Reader(*args, **kwargs)
dynamic
before

The proof state before the tactic execution.

has_before
after

The new proof states that were generated by the tactic.

has_after
term

The proof term that witnesses the transition from the before state to the after states. It contains a hole (an evar node) for each of the after states. It may also refer to elements of the local context of the before state.

term_text

A textual representation of the proof term.

has_term_text
tactic_arguments

The arguments of the tactic that produced this outcome. Note that these arguments belong to the tactic in ProofStep.tactic.

has_tactic_arguments
class Outcome_Term_Reader:

Outcome_Term_Reader(_DynamicStructReader dyn)

The proof term that witnesses the transition from the before state to the after states. It contains a hole (an evar node) for each of the after states. It may also refer to elements of the local context of the before state.

Outcome_Term_Reader(*args, **kwargs)
dynamic
dep_index

Indicates to which graph a node belongs. How this should be resolved is not specified here. However, a value of zero always points to the 'current' graph.

node_index

The index into Graph.nodes where this node can be found.

class ProofState_Reader:

ProofState_Reader(_DynamicStructReader dyn)

A proof state represents a particular point in the tactical proof of a constant.

ProofState_Reader(*args, **kwargs)
dynamic
root

The entry-point of the proof state, all nodes that are 'part of' the proof state are reachable from here.

context

The local context of the proof state. These nodes label's are either contextAssum or contextDef. Note that these nodes are also reachable from the root of the proof state.

has_context
context_names

The names of the local context nodes of the proof state, as they originally appeared in the proof. These names should be used for debugging and viewing purposes only, because hypothesis-generating tactics have been modified to use auto-generated names. Hence, tactics should not be concerned about the names of the context.

has_context_names
context_text

A textual representation of the type/definition of context nodes

has_context_text
conclusion_text

A textual representation of the conclusion of the proof state.

has_conclusion_text
text

A textual representation of the proof state.

has_text
id

A unique identifier of the proof state. Any two proof states in a tactical proof that have an equal id can morally be regarded to be 'the same' proof state. IMPORTANT: Two proof states with the same id may still have different contents. This is because proof states can contain existential variables (represented by the evar node) that can be filled as a side-effect by a tactic running on another proof state. TODO: This is currently duplicated with the id attached to the ProofState node that root points to. Eventually, this id should be resolved to a NodeIndex that represents the location of this proof state in the final proof term that was generated.

class Argument_Reader:

Argument_Reader(_DynamicStructReader dyn)

A concrete argument of a tactic.

Argument_Reader(*args, **kwargs)
dynamic
which
which_raw
unresolvable

An argument that is currently unresolvable due to limitations of the extraction process.

is_unresolvable
term

The root of a graph representing an argument that is a term in the calculus of constructions.

is_term
class ProofState_Root_Reader:

ProofState_Root_Reader(_DynamicStructReader dyn)

The entry-point of the proof state, all nodes that are 'part of' the proof state are reachable from here.

ProofState_Root_Reader(*args, **kwargs)
dynamic
dep_index

Indicates to which graph a node belongs. How this should be resolved is not specified here. However, a value of zero always points to the 'current' graph.

node_index

The index into Graph.nodes where this node can be found.

class Node_Reader:

Node_Reader(_DynamicStructReader dyn)

A node in the CIC graph

Node_Reader(*args, **kwargs)
dynamic
dep_index

Indicates to which graph a node belongs. How this should be resolved is not specified here. However, a value of zero always points to the 'current' graph.

node_index

The index into Graph.nodes where this node can be found.

class Argument_Term_Reader:

Argument_Term_Reader(_DynamicStructReader dyn)

The root of a graph representing an argument that is a term in the calculus of constructions.

Argument_Term_Reader(*args, **kwargs)
dynamic
dep_index

Indicates to which graph a node belongs. How this should be resolved is not specified here. However, a value of zero always points to the 'current' graph.

node_index

The index into Graph.nodes where this node can be found.

class Graph_EdgeTarget_Target_Reader:

Graph_EdgeTarget_Target_Reader(_DynamicStructReader dyn)

Graph_EdgeTarget_Target_Reader(*args, **kwargs)
dynamic
dep_index

Indicates to which graph a node belongs. How this should be resolved is not specified here. However, a value of zero always points to the 'current' graph.

node_index

The index into Graph.nodes where this node can be found.

class AbstractTactic_Reader:

AbstractTactic_Reader(_DynamicStructReader dyn)

AbstractTactic_Reader(*args, **kwargs)
dynamic
ident

An abstract tactic is referenced to using a identifier (hash).

parameters

Every tactic has a constant number of parameters that need to be filled in.

class DataVersion_Reader:

DataVersion_Reader(_DynamicStructReader dyn)

Version info of a dataset.

DataVersion_Reader(*args, **kwargs)
dynamic
major

Currently we only have a major version. Any change to the graph format, Cap'n Proto schema or communication protocol is considered a breaking change and will increment the major version number. Note that currently we don't distinquish backwards-compatible Cap'n Proto schema changes from non-backwards-compatible changes. The schema might change in a non-compatible way without notice. In the future, a minor version id might be introduced.

class Dataset_Reader:

Dataset_Reader(_DynamicStructReader dyn)

Every file in the dataset contains a single message of type Dataset. Every file corresponds to a Coq source file, and contains a representation of all definitions that have existed at any point throughout the compilation of the source file.

Dataset_Reader(*args, **kwargs)
dynamic
dependencies

The graph contained in a file may reference nodes from the graph of other files. This field maps a DepIndex into the a file that contains that particular node. The first file in this list is always the current file. It is guaranteed that no cycles exist in the dependency relation between files induced by this field (except for the self-reference of the file).

has_dependencies
graph
has_graph
representative

The entry point of the global context of definitions that are available when this file is 'Required' by another file. The full global context can be obtained by following the previous node of definitions. If the compilation unit does not contain any 'super'-global definitions this is set to len(graph.nodes)

definitions

All of the definitions present in the graph. Note that some of these nodes may not be part of the 'super-global' context that is reachable using the representative field as an entry point. The reason is that the global context is a forest (list of tree's) and the 'super-global' context is only the main spine of this forest.

has_definitions
module_name

The name of the module defined by this file.

has_module_name
data_version

The version of the data stored in this dataset.

has_data_version
class Exception_Reader:

Exception_Reader(_DynamicStructReader dyn)

A list of things that can go wrong.

Exception_Reader(*args, **kwargs)
dynamic
which
which_raw
no_such_tactic
is_no_such_tactic
mismatched_arguments
is_mismatched_arguments
parse_error
is_parse_error
illegal_argument
is_illegal_argument
class ExecutionResult_Reader:

ExecutionResult_Reader(_DynamicStructReader dyn)

The result of executing a tactic on a proof state.

ExecutionResult_Reader(*args, **kwargs)
dynamic
which
which_raw
failure

The tactic execution failed. This is not an error condition, but rather the natural failure of the tactic.

is_failure
complete

The proof has been completed.

is_complete
new_state

The tactic ran successfully and produced a new proof state.

is_new_state
protocol_error

Indicates a programmer error.

is_protocol_error
has_protocol_error
class ExecutionResult_NewState_Reader:

ExecutionResult_NewState_Reader(_DynamicStructReader dyn)

The tactic ran successfully and produced a new proof state.

ExecutionResult_NewState_Reader(*args, **kwargs)
dynamic
graph
has_graph
state
has_state
class PredictionProtocol_Reader:

PredictionProtocol_Reader(_DynamicStructReader dyn)

This protocol works by exchanging raw messages over a socket. The protocol is fully linear. Coq sends a Request and waits for a corresponding Response message. A message of a given type should be responded with using the obviously corresponding response type.

PredictionProtocol_Reader(*args, **kwargs)
dynamic
class PredictionProtocol_Request_Reader:

PredictionProtocol_Request_Reader(_DynamicStructReader dyn)

PredictionProtocol_Request_Reader(*args, **kwargs)
dynamic
which
which_raw
initialize

Start a context for making tactical predictions for proof search. The context includes the tactics that are currently available, the definitions that are available.

is_initialize
predict

Request a list of tactic predictions given the graph of a proof state.

is_predict
synchronize

TODO: Get rid of this in next version, no longer used. Coq uses this message to synchronize the state of the protocol when exceptions have occurred. The contract is that the given integer needs to be echo'd back verbatim.

is_synchronize
check_alignment

Request for the server to align the given tactics and definition to it's internal knowledge and report back any tactics and definitions that were not found

is_check_alignment
class PredictionProtocol_Request_Initialize_Reader:

PredictionProtocol_Request_Initialize_Reader(_DynamicStructReader dyn)

Start a context for making tactical predictions for proof search. The context includes the tactics that are currently available, the definitions that are available.

PredictionProtocol_Request_Initialize_Reader(*args, **kwargs)
dynamic
data_version

The version number this message and subsequent messages is compatible with.

has_data_version
stack_size

Initialize messages can depend on previously sent initialize messages. These messages form a stack. This field indicates the size of the stack that this message depends on (if a message has no dependencies, this field is zero). If the current stack is larger than the stack size of this message, then the items excess items on the stack should be discarded before adding the current message to the stack. It is guaranteed that the excess items will never be referenced again.

The dependency indices of nodes contained in the graphs of the stack are indexed as follows: A dependency index i found in the graph at stack height j is resolved to the graph at stack height j - i. (This scheme keeps the guarantee that dependency index 0 always points to the current graph.)

tactics

A list of tactics that Coq currently knows about.

has_tactics
graph

The graph of this message. See stackSize on how to resolve dependency indexes in this graph.

has_graph
log_annotation

An annotation containing file and line information on where Coq is currently processing.

has_log_annotation
representative

Points to the last definition of the global context. All other definitions can be accessed by following the Definition.previous chain starting from this definition. If the global context is empty this is equal to len(graph.nodes).

class PredictionProtocol_Request_Predict_Reader:

PredictionProtocol_Request_Predict_Reader(_DynamicStructReader dyn)

Request a list of tactic predictions given the graph of a proof state.

PredictionProtocol_Request_Predict_Reader(*args, **kwargs)
dynamic
graph

The graph may reference definitions present in the stack of initialize messages. See initialize.stackSize on how dependency indices can be resolved to a graph in the stack.

has_graph
state

The proof state for which a prediction is requested.

has_state
class PredictionProtocol_Prediction_Reader:

PredictionProtocol_Prediction_Reader(_DynamicStructReader dyn)

PredictionProtocol_Prediction_Reader(*args, **kwargs)
dynamic
tactic
has_tactic
arguments
has_arguments
confidence
class PredictionProtocol_TextPrediction_Reader:

PredictionProtocol_TextPrediction_Reader(_DynamicStructReader dyn)

PredictionProtocol_TextPrediction_Reader(*args, **kwargs)
dynamic
tactic_text
has_tactic_text
confidence
class PredictionProtocol_Response_Reader:

PredictionProtocol_Response_Reader(_DynamicStructReader dyn)

See Request for documentation.

PredictionProtocol_Response_Reader(*args, **kwargs)
dynamic
which
which_raw
initialized
is_initialized
prediction
is_prediction
has_prediction
text_prediction

Output is a list of predictions with a confidence. The list is expected to be sorted by decreasing confidence.

is_text_prediction
has_text_prediction
synchronized

TODO: Get rid of this in next version, no longer used.

is_synchronized
alignment
is_alignment
class PredictionProtocol_Response_Alignment_Reader:

PredictionProtocol_Response_Alignment_Reader(_DynamicStructReader dyn)

PredictionProtocol_Response_Alignment_Reader(*args, **kwargs)
dynamic
unaligned_tactics
has_unaligned_tactics
unaligned_definitions
has_unaligned_definitions
class ConflatableEdges_Reader:

ConflatableEdges_Reader(_DynamicStructReader dyn)

ConflatableEdges_Reader(*args, **kwargs)
dynamic
class Uint16_List:
class Uint32_List:
class Uint64_List:
class Int64_List:
class String_List:
class AbstractTactic_Reader_List:
class Graph_Node_Reader_List:
class ProofStep_Reader_List:
class Node_Reader_List:
class PredictionProtocol_TextPrediction_Reader_List:
class Outcome_Reader_List:
class ProofState_Reader_List:
class PredictionProtocol_Prediction_Reader_List:
class Argument_Reader_List:
class Graph_EdgeTarget_Reader_List:
class Argument_Which(enum.IntEnum):

Enum where members are also (and must be) ints

UNRESOLVABLE = <Argument_Which.UNRESOLVABLE: 0>
TERM = <Argument_Which.TERM: 1>
Inherited Members
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
real
imag
numerator
denominator
class Definition_Status_Which(enum.IntEnum):

Enum where members are also (and must be) ints

Inherited Members
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
real
imag
numerator
denominator
class Definition_Which(enum.IntEnum):

Enum where members are also (and must be) ints

INDUCTIVE = <Definition_Which.INDUCTIVE: 0>
CONSTRUCTOR = <Definition_Which.CONSTRUCTOR: 1>
PROJECTION = <Definition_Which.PROJECTION: 2>
MANUAL_CONSTANT = <Definition_Which.MANUAL_CONSTANT: 3>
TACTICAL_CONSTANT = <Definition_Which.TACTICAL_CONSTANT: 4>
MANUAL_SECTION_CONSTANT = <Definition_Which.MANUAL_SECTION_CONSTANT: 5>
TACTICAL_SECTION_CONSTANT = <Definition_Which.TACTICAL_SECTION_CONSTANT: 6>
Inherited Members
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
real
imag
numerator
denominator
class EdgeClassification(enum.IntEnum):

Enum where members are also (and must be) ints

CONTEXT_ELEM = <EdgeClassification.CONTEXT_ELEM: 0>
CONTEXT_SUBJECT = <EdgeClassification.CONTEXT_SUBJECT: 1>
CONTEXT_DEF_TYPE = <EdgeClassification.CONTEXT_DEF_TYPE: 2>
CONTEXT_DEF_TERM = <EdgeClassification.CONTEXT_DEF_TERM: 3>
CONST_TYPE = <EdgeClassification.CONST_TYPE: 4>
CONST_UNDEF = <EdgeClassification.CONST_UNDEF: 5>
CONST_DEF = <EdgeClassification.CONST_DEF: 6>
CONST_OPAQUE_DEF = <EdgeClassification.CONST_OPAQUE_DEF: 7>
CONST_PRIMITIVE = <EdgeClassification.CONST_PRIMITIVE: 8>
IND_TYPE = <EdgeClassification.IND_TYPE: 9>
IND_CONSTRUCT = <EdgeClassification.IND_CONSTRUCT: 10>
IND_PROJECTION = <EdgeClassification.IND_PROJECTION: 11>
PROJ_TERM = <EdgeClassification.PROJ_TERM: 12>
CONSTRUCT_TERM = <EdgeClassification.CONSTRUCT_TERM: 13>
CAST_TERM = <EdgeClassification.CAST_TERM: 14>
CAST_TYPE = <EdgeClassification.CAST_TYPE: 15>
PROD_TYPE = <EdgeClassification.PROD_TYPE: 16>
PROD_TERM = <EdgeClassification.PROD_TERM: 17>
LAMBDA_TYPE = <EdgeClassification.LAMBDA_TYPE: 18>
LAMBDA_TERM = <EdgeClassification.LAMBDA_TERM: 19>
LET_IN_DEF = <EdgeClassification.LET_IN_DEF: 20>
LET_IN_TYPE = <EdgeClassification.LET_IN_TYPE: 21>
LET_IN_TERM = <EdgeClassification.LET_IN_TERM: 22>
APP_FUN = <EdgeClassification.APP_FUN: 23>
APP_ARG = <EdgeClassification.APP_ARG: 24>
CASE_TERM = <EdgeClassification.CASE_TERM: 25>
CASE_RETURN = <EdgeClassification.CASE_RETURN: 26>
CASE_BRANCH_POINTER = <EdgeClassification.CASE_BRANCH_POINTER: 27>
CASE_IND = <EdgeClassification.CASE_IND: 28>
C_B_CONSTRUCT = <EdgeClassification.C_B_CONSTRUCT: 29>
C_B_TERM = <EdgeClassification.C_B_TERM: 30>
FIX_MUTUAL = <EdgeClassification.FIX_MUTUAL: 31>
FIX_RETURN = <EdgeClassification.FIX_RETURN: 32>
FIX_FUN_TYPE = <EdgeClassification.FIX_FUN_TYPE: 33>
FIX_FUN_TERM = <EdgeClassification.FIX_FUN_TERM: 34>
CO_FIX_MUTUAL = <EdgeClassification.CO_FIX_MUTUAL: 35>
CO_FIX_RETURN = <EdgeClassification.CO_FIX_RETURN: 36>
CO_FIX_FUN_TYPE = <EdgeClassification.CO_FIX_FUN_TYPE: 37>
CO_FIX_FUN_TERM = <EdgeClassification.CO_FIX_FUN_TERM: 38>
REL_POINTER = <EdgeClassification.REL_POINTER: 39>
EVAR_SUBST_POINTER = <EdgeClassification.EVAR_SUBST_POINTER: 40>
EVAR_SUBST_TERM = <EdgeClassification.EVAR_SUBST_TERM: 41>
EVAR_SUBST_TARGET = <EdgeClassification.EVAR_SUBST_TARGET: 42>
EVAR_SUBJECT = <EdgeClassification.EVAR_SUBJECT: 43>
Inherited Members
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
real
imag
numerator
denominator
class Exception_Which(enum.IntEnum):

Enum where members are also (and must be) ints

NO_SUCH_TACTIC = <Exception_Which.NO_SUCH_TACTIC: 0>
MISMATCHED_ARGUMENTS = <Exception_Which.MISMATCHED_ARGUMENTS: 1>
PARSE_ERROR = <Exception_Which.PARSE_ERROR: 2>
ILLEGAL_ARGUMENT = <Exception_Which.ILLEGAL_ARGUMENT: 3>
Inherited Members
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
real
imag
numerator
denominator
class ExecutionResult_Which(enum.IntEnum):

Enum where members are also (and must be) ints

PROTOCOL_ERROR = <ExecutionResult_Which.PROTOCOL_ERROR: 3>
Inherited Members
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
real
imag
numerator
denominator
class Graph_Node_Label_Which(enum.IntEnum):

Enum where members are also (and must be) ints

Inherited Members
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
real
imag
numerator
denominator
class PredictionProtocol_Request_Which(enum.IntEnum):

Enum where members are also (and must be) ints

Inherited Members
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
real
imag
numerator
denominator
class PredictionProtocol_Response_Which(enum.IntEnum):

Enum where members are also (and must be) ints

Inherited Members
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
real
imag
numerator
denominator
class ProofStep_Tactic_Which(enum.IntEnum):

Enum where members are also (and must be) ints

Inherited Members
enum.Enum
name
value
builtins.int
conjugate
bit_length
bit_count
to_bytes
from_bytes
as_integer_ratio
real
imag
numerator
denominator