protocol
assignvarsp¶
Assignable variables (supporting backtracable assignement of non-variable terms) protocol.
Author: Nobukuni Kino and Paulo Moura
Version: 1.0
Date: 2015/7/31
Compilation flags:
static(no dependencies on other entities)
Public interface¶
assignable/1¶
Makes Variable an assignable variable. Initial state will be empty.
Compilation flags:
staticTemplate:
assignable(Variable)Mode and number of proofs:
assignable(-assignvar) - oneExceptions:
Variable is not a variable:
type_error(variable,Variable)assignable/2¶
Makes Variable an assignable variable and sets its initial state to Value.
Compilation flags:
staticTemplate:
assignable(Variable,Value)Mode and number of proofs:
assignable(-assignvar,@nonvar) - oneExceptions:
Variable is not a variable:
type_error(variable,Variable)Value is not instantiated:
instantiation_error(<=)/2¶
Sets the state of the assignable variable Variable to Value (initializing the variable if needed).
Compilation flags:
staticTemplate:
Variable<=ValueMode and number of proofs:
(?assignvar)<=(@nonvar) - oneExceptions:
Value is not instantiated:
instantiation_error(=>)/2¶
Unifies Value with the current state of the assignable variable Variable.
Compilation flags:
staticTemplate:
Variable=>ValueMode and number of proofs:
(+assignvar)=>(?nonvar) - zero_or_oneExceptions:
Variable is not instantiated:
instantiation_errorProtected interface¶
(none)
Private predicates¶
(none)
Operators¶
op(100,xfx,<=) (public)op(100,xfx,=>) (public)