Documentation

Studies.Hudson2010

Hudson (2010): An Introduction to Word Grammar #

This file formalizes the worked examples of Part I of [Hud10] on the default-inheritance substrate DefaultInheritance. Default inheritance is the book's engine. An exemplar inherits every property of the concepts above it in the isA taxonomy except those overridden lower down. So a penguin exemplar inherits lays eggs from bird but doesn't fly from penguin (Figure 2.8, inherited_flight_e2), and a diesel car exemplar runs on diesel rather than the default petrol (Figure 3.18, inherited_fuel_e). The book's searcher climbs the taxonomy from the exemplar and keeps the first answer it finds (Section 2.5.3). The substrate proves that this answer is an inherited one for every climb that starts at the bottom (DefaultInheritance.mem_inherited_of_find?_eq_some). Multiple inheritance can leave a conflict with no recognized resolution, the Nixon diamond of Figure 2.7. Nixon inherits both accepts war and rejects war as credulous conclusions and neither as a skeptical one (inherited_war_nixon, not_entails_war_nixon), and the two climbs that visit his parents in opposite orders find different answers (search_war_nixon). Nixon's own choice, a copy of accepts war at his node, settles the conflict (nixon_resolved). Choice sets keep such conflicts from arising. No one is both male and female, or both adult and child, so a property attached to the members of either choice set is never inherited twice, although man, boy, woman and girl each inherit from two concepts (Figure 3.9, subsingleton_inherited_sex, subsingleton_inherited_age).

Relational concepts are defined in terms of existing ones: parent merges mother and father, grandmother is the mother of a parent, and ancestor is the recursive closure of parent (Section 3.2.7, ancestor). The definition of grandmother is a relational Triangle, one node's two relations converging on a third, and the same triangle is the syntactic pattern of raising: an auxiliary's subject is also its valent's subject (Figure 7.6). Closing the asserted subjects under the triangle along the valent chain (raise) makes he the subject of every verb in He keeps seeming to have forgotten to go (Figure 7.12, he_subject_of_go).

Implementation notes #

References #

Default inheritance #

The concepts of Figure 2.8: birds, the typical sparrow, the exceptional penguin, and an exemplar of each.

Instances For
    @[instance_reducible]
    instance Hudson2010.instDecidableEqBird :
    DecidableEq Bird
    Equations
    @[instance_reducible]
    Equations

    How a bird moves.

    Instances For
      @[instance_reducible]
      Equations

      How a bird reproduces.

      Instances For
        @[instance_reducible]
        Equations

        A sparrow exemplar inherits the default of bird.

        A penguin exemplar inherits doesn't fly, the lower of the competing properties (Section 2.5.3).

        The override leaves the other defaults intact: the exceptional penguin still inherits what bird specifies about reproduction.

        inductive Hudson2010.Car :

        The concepts of Figure 3.18: cars, the exceptional diesel car, and an exemplar of each.

        Instances For
          @[instance_reducible]
          instance Hudson2010.instDecidableEqCar :
          DecidableEq Car
          Equations
          @[instance_reducible]
          instance Hudson2010.instFintypeCar :
          Fintype Car
          Equations

          The depth of a concept below car.

          Equations
          Instances For

            A car's fuel.

            Instances For
              @[instance_reducible]
              instance Hudson2010.instDecidableEqFuel :
              DecidableEq Fuel
              Equations
              def Hudson2010.fuel :
              Car → Option Fuel

              Figure 3.18: petrol is the default car fuel and diesel the exception.

              Equations
              Instances For

                The diesel car exemplar inherits the link to diesel before it reaches petrol.

                The Nixon diamond #

                The concepts of Figure 2.7: Nixon is both a Republican and a Quaker.

                Instances For
                  @[instance_reducible]
                  Equations

                  A view of war.

                  Instances For
                    @[instance_reducible]
                    Equations
                    def Hudson2010.war :
                    Person → Option Stance

                    Figure 2.7: Republicans accept war and Quakers reject it.

                    Equations
                    Instances For

                      Nixon inherits both views of war, a conflict with no recognized resolution (Section 2.4.2): each view is a credulous conclusion, and neither is a skeptical one.

                      Neither view of war is a skeptical conclusion: Nixon's specifiers preferentially entail neither.

                      Climbing from Nixon through Republican first finds accepts war, and through Quaker first finds rejects war. Both climbs start at the bottom, so both answers are inherited.

                      Nixon's resolution: a copy of accepts war at his own node wins (Section 2.4.2).

                      Choice sets #

                      The concepts of Figure 3.9: a person is male or female and adult or child, and man, boy, woman and girl are the four combinations.

                      Instances For
                        @[instance_reducible]
                        Equations
                        @[instance_reducible]
                        Equations
                        @[instance_reducible]
                        Equations
                        • One or more equations did not get rendered due to their size.

                        The choice set sex of Figure 3.8.

                        Equations
                        Instances For

                          The choice set age of Figure 3.9.

                          Equations
                          Instances For
                            theorem Hudson2010.pairwiseDisjoint_sex :
                            sex.PairwiseDisjoint Set.Iic

                            Only one member of a choice set may be chosen (Section 3.3.2): no concept isA both male and female.

                            theorem Hudson2010.pairwiseDisjoint_age :
                            age.PairwiseDisjoint Set.Iic

                            No concept isA both adult and child.

                            theorem Hudson2010.subsingleton_inherited_sex {β : Type u_1} {att : Human → Option β} (h : ∀ (m : Human), (att m).isSome = true → m ∈ sex) (a : Human) :
                            (DefaultInheritance.inherited att a).Subsingleton

                            A property attached only to the members of the choice set sex is inherited at most once (Section 2.4.3).

                            theorem Hudson2010.subsingleton_inherited_age {β : Type u_1} {att : Human → Option β} (h : ∀ (m : Human), (att m).isSome = true → m ∈ age) (a : Human) :
                            (DefaultInheritance.inherited att a).Subsingleton

                            A property attached only to the members of the choice set age is inherited at most once.

                            Relational concepts #

                            def Hudson2010.parent {α : Type u_1} (mother father : α → α → Prop) (x p : α) :

                            Figure 8.16 (a): a person's parent is either their mother or their father.

                            Equations
                            Instances For
                              def Hudson2010.child {α : Type u_1} (mother father : α → α → Prop) (x c : α) :

                              Figure 8.16 (b): a person's child is anyone whose parent they are.

                              Equations
                              Instances For
                                def Hudson2010.grandmother {α : Type u_1} (mother father : α → α → Prop) :
                                α → α → Prop

                                Figure 3.7: a grandmother is the mother of a parent, a relational triangle.

                                Equations
                                Instances For
                                  def Hudson2010.grandparent {α : Type u_1} (mother father : α → α → Prop) :
                                  α → α → Prop

                                  Figure 3.17: a grandparent is a parent's parent.

                                  Equations
                                  Instances For
                                    theorem Hudson2010.comp_grandparent_parent {α : Type u_1} (mother father : α → α → Prop) :
                                    Relation.Comp (grandparent mother father) (parent mother father) = Relation.Comp (parent mother father) (Relation.Comp (parent mother father) (parent mother father))

                                    Figure 3.17: a great-grandparent is a grandparent's parent, and the Recycling Principle of Section 3.5.2 builds it on grandparent rather than as the parent of a parent of a parent, to which it is nonetheless equal.

                                    def Hudson2010.ancestor {α : Type u_1} (mother father : α → α → Prop) :
                                    α → α → Prop

                                    Section 3.2.7: a person's ancestor is either their parent or an ancestor of their parent, the recursive definition.

                                    Equations
                                    Instances For
                                      theorem Hudson2010.ancestor_iff {α : Type u_1} (mother father : α → α → Prop) (x a : α) :
                                      ancestor mother father x a ↔ parent mother father x a ∨ ∃ (p : α), parent mother father x p ∧ ancestor mother father p a
                                      theorem Hudson2010.ancestor_of_grandparent {α : Type u_1} (mother father : α → α → Prop) {x g : α} (h : grandparent mother father x g) :
                                      ancestor mother father x g

                                      A grandparent is an ancestor.

                                      def Hudson2010.brother {α : Type u_1} (mother father : α → α → Prop) (male : α → Prop) (x b : α) :

                                      Figure 8.16 (c): brothers and sisters are the sons and daughters of a parent.

                                      Equations
                                      Instances For
                                        def Hudson2010.sister {α : Type u_1} (mother father : α → α → Prop) (female : α → Prop) (x s : α) :
                                        Equations
                                        Instances For
                                          def Hudson2010.uncle {α : Type u_1} (mother father : α → α → Prop) (male : α → Prop) :
                                          α → α → Prop

                                          Figure 8.16 (d): uncles and aunts are the brothers and sisters of a parent.

                                          Equations
                                          Instances For
                                            def Hudson2010.aunt {α : Type u_1} (mother father : α → α → Prop) (female : α → Prop) :
                                            α → α → Prop
                                            Equations
                                            Instances For
                                              theorem Hudson2010.uncle_of_parent_brother {α : Type u_1} (mother father : α → α → Prop) (male : α → Prop) {x p u : α} (hp : parent mother father x p) (hb : brother mother father male p u) :
                                              uncle mother father male x u

                                              A parent's brother is an uncle, though not conversely once Figure 8.16 (e) extends the relation to the husbands of aunts.

                                              Triangles in kinship and in syntax #

                                              def Hudson2010.Triangle {α : Type u_1} (r₁ r₂ r₃ : α → α → Prop) :

                                              The triangle of Figure 7.6: a node's r₁ value and r₂ value stand in r₃.

                                              Equations
                                              Instances For
                                                theorem Hudson2010.triangle_grandmother {α : Type u_1} (mother father : α → α → Prop) :
                                                Triangle (child mother father) mother (grandmother mother father)

                                                In kinship: a person's mother is their child's grandmother.

                                                def Hudson2010.Raising {α : Type u_1} (valent subj : α → α → Prop) :

                                                Raising, the syntactic triangle: a word's subject is also its valent's subject.

                                                Equations
                                                Instances For
                                                  def Hudson2010.raise {α : Type u_1} (valent subj : α → α → Prop) (v s : α) :

                                                  The subjects derived from the asserted ones by closing under the triangle along the valent chain.

                                                  Equations
                                                  • Hudson2010.raise valent subj v s = ∃ (h : α), subj h s ∧ Relation.ReflTransGen valent h v
                                                  Instances For
                                                    theorem Hudson2010.subj_le_raise {α : Type u_1} (valent subj : α → α → Prop) (x s : α) :
                                                    subj x s → raise valent subj x s
                                                    theorem Hudson2010.raising_raise {α : Type u_1} (valent subj : α → α → Prop) :
                                                    Raising valent (raise valent subj)

                                                    The derived subjects satisfy the triangle.

                                                    theorem Hudson2010.raise_le_of_raising {α : Type u_1} (valent subj : α → α → Prop) {S : α → α → Prop} (hS : Raising valent S) (hsubj : ∀ (x s : α), subj x s → S x s) (v s : α) :
                                                    raise valent subj v s → S v s

                                                    Any subject relation containing the asserted subjects and closed under the triangle contains the derived subjects: raise is the least closure.

                                                    theorem Hudson2010.raise_of_transGen {α : Type u_1} (valent subj : α → α → Prop) {h v s : α} (hs : subj h s) (hchain : Relation.TransGen valent h v) :
                                                    raise valent subj v s

                                                    Section 7.2.6: the subject is shared down a chain of valents, however long, the recursion of Figure 7.12.

                                                    Figure 7.12 #

                                                    inductive Hudson2010.W :

                                                    The words of He keeps seeming to have forgotten to go.

                                                    • he : W
                                                    • keeps : W
                                                    • seeming : W
                                                    • to₁ : W
                                                    • have : W
                                                    • forgotten : W
                                                    • to₂ : W
                                                    • go : W
                                                    Instances For
                                                      @[instance_reducible]
                                                      instance Hudson2010.instDecidableEqW :
                                                      DecidableEq W
                                                      Equations
                                                      @[instance_reducible]
                                                      instance Hudson2010.instReprW :
                                                      Repr W
                                                      Equations
                                                      def Hudson2010.instReprW.repr :
                                                      W → ℕ → Std.Format
                                                      Equations
                                                      Instances For

                                                        The one asserted subject: he is the subject of keeps.

                                                        Equations
                                                        Instances For

                                                          He is the subject of go, six triangles down the chain.