Documentation

Linglib.Core.Data.UnorderedTree.Licensed

Licensed unordered trees #

A relation R between a value and a multiset of values licenses an unordered tree when every subtree satisfies it at its root, the daughters' labels read without order. Since R reads a multiset, it licenses every ordered representative of the tree alike (RoseTree.licensed_of_perm), so licensing descends to the quotient.

Main definitions #

def UnorderedTree.Licensed {α : Type u_1} (R : α → Multiset α → Prop) (u : UnorderedTree α) :

A relation R licenses an unordered tree when it licenses its ordered representatives, the children's values read as a multiset.

Equations
Instances For
    @[simp]
    theorem UnorderedTree.licensed_mk {α : Type u_1} (R : α → Multiset α → Prop) (t : RoseTree α) :
    Licensed R (mk t) ↔ RoseTree.Licensed (fun (a : α) (ks : List α) => R a ↑ks) t
    theorem UnorderedTree.Licensed.mono {α : Type u_1} {R R' : α → Multiset α → Prop} (h : ∀ (a : α) (ks : Multiset α), R a ks → R' a ks) {u : UnorderedTree α} (hu : Licensed R u) :
    @[instance_reducible]
    instance UnorderedTree.instDecidableLicensed {α : Type u_1} (R : α → Multiset α → Prop) [(a : α) → (ks : Multiset α) → Decidable (R a ks)] (u : UnorderedTree α) :
    Decidable (Licensed R u)
    Equations
    • One or more equations did not get rendered due to their size.

    A tree is full binary when each of its vertices has zero or two children.

    Equations
    Instances For