Syntax¶
Base OSF expressions¶
- class fosf.syntax.base.DisjunctiveSort(*sorts)[source]¶
Bases:
Sort- Parameters:
sorts (str | Sort)
Taxonomy¶
- class fosf.syntax.taxonomy.BaseTaxonomy(edges)[source]¶
Bases:
Generic[T,R]Generic taxonomy over DAGs with bitvector encoding.
- Parameters:
edges (Iterable[tuple[str | T, str | T] | tuple[str | T, str | T, float]])
- BOT_PREFIX: str = 'bot'¶
- DISJUNCTIVE_TYPE¶
alias of
set
- NODE_TYPE()¶
- TOP_PREFIX: str = 'top'¶
- property bot_code: int¶
- property top_code: int¶
- class fosf.syntax.taxonomy.FuzzySortTaxonomy(edges, instances=None)[source]¶
Bases:
SortTaxonomy- Parameters:
- add_instance(instance, sort, degree=1.0, check=True)[source]¶
- Parameters:
instance (str)
sort (str | Sort)
degree (float)
- class fosf.syntax.taxonomy.SortTaxonomy(edges, instances=None)[source]¶
Bases:
BaseTaxonomy[Sort,DisjunctiveSort]- Parameters:
- BOT_PREFIX: str = 'bot'¶
- DISJUNCTIVE_TYPE¶
alias of
DisjunctiveSort
- TOP_PREFIX: str = 'top'¶
Terms¶
- class fosf.syntax.terms.NormalTerm(X, s=None, subterms=None)[source]¶
Bases:
Term- Parameters:
X (Tag)
s (Sort)
subterms (dict[Feature, NormalTerm])
- equivalent_to(other)[source]¶
- Parameters:
other (NormalTerm)
Constraints¶
- class fosf.syntax.constraints.Clause(*constraints)[source]¶
Bases:
object- Parameters:
constraints (Constraint)
- add(*constraints)[source]¶
- Parameters:
constraints (Constraint)
- normalize(taxonomy)[source]¶
- Parameters:
taxonomy (SortTaxonomy)
- Return type:
- class fosf.syntax.constraints.EqualityConstraint(X, Y)[source]¶
Bases:
ConstraintX = Y
- class fosf.syntax.constraints.FeatureConstraint(X, f, Y)[source]¶
Bases:
ConstraintX.f = Y
- class fosf.syntax.constraints.RootedClause(root, *constraints, ensure_rooted=False)[source]¶
Bases:
Clause- Parameters:
root (Tag)
constraints (Constraint)
- add(*constraints, ensure_rooted=False)[source]¶
- Parameters:
constraints (Constraint)
- constraints: set[Constraint]¶
- normalize(taxonomy)[source]¶
- Parameters:
taxonomy (SortTaxonomy)
- Return type:
- class fosf.syntax.constraints.RootedSolvedClause(root, *constraints)[source]¶
Bases:
SolvedClause,RootedClause- Parameters:
root (Tag)
constraints (Constraint)
- equivalent_to(other)[source]¶
- Parameters:
other (RootedSolvedClause)
- class fosf.syntax.constraints.SolvedClause(*constraints)[source]¶
Bases:
Clause- Parameters:
constraints (Constraint)
- add(*constraints)[source]¶
- Parameters:
constraints (Constraint)
- constraints: set[Constraint]¶
- normalize(taxonomy)[source]¶
- Parameters:
taxonomy (SortTaxonomy)
- Return type:
- class fosf.syntax.constraints.SortConstraint(X, s)[source]¶
Bases:
ConstraintX : s
Theory¶
- class fosf.syntax.theory.OsfTheory(taxonomy, definitions, tags=None, ensure_closed=False)[source]¶
Bases:
object- Parameters:
taxonomy (SortTaxonomy)
definitions (dict[Sort, NormalTerm])
ensure_closed (bool)