@@ -5,18 +5,6 @@ open import Framework.Definitions
55{-
66This module formalizes feature structure trees.
77We formalized the language, its semantics, and the typing to disallow duplicate neighbors.
8-
9- Notes on axioms:
10- This module assumes extensionality but for a single proof only.
11- FSTs come with a typing that ensures that all direct children of a node
12- have unique atoms. For proving left identity of FST composition,
13- we must prove equality of two FSTs including their typing.
14- While we can prove syntactic equality of the FSTs without problems,
15- proving equality of the typings requires extensionality because
16- typings are functions by definitions.
17- To us, it is important only that a typing exists, not how it looks exactly,
18- so introducing extensionality should be ok in this case.
19- Moreover, typings should be unique anyway.
208-}
219module Lang.FST (F : 𝔽) where
2210
@@ -111,25 +99,12 @@ xs ⋢ ys = Any (_∉ ys) xs
11199Disjoint : ∀ {i A} → (xs ys : List (FST i A)) → Set₁ --\squb=n
112100Disjoint xs ys = All (_∉ ys) xs
113101
114- -- We open a module here to ensure that the extensionality axiom is used
115- -- only for this single proof.
116- module _ where
117- open import Axioms.Extensionality using (extensionality)
118-
119- -- identity of proofs
120- ≉-deterministic : ∀ {A} (x y : FST ∞ A)
121- → (p₁ : x ≉ y)
122- → (p₂ : x ≉ y)
123- → p₁ ≡ p₂
124- ≉-deterministic (a -< _ >-) (b -< _ >-) p₁ p₂ = extensionality λ where refl → refl
125-
126102∉-deterministic : ∀ {A} {x : FST ∞ A} (ys : List (FST ∞ A))
127103 → (p₁ : x ∉ ys)
128104 → (p₂ : x ∉ ys)
129105 → p₁ ≡ p₂
130106∉-deterministic [] [] [] = refl
131107∉-deterministic {_} {x} (y ∷ ys) (x≉y₁ ∷ pa) (x≉y₂ ∷ pb)
132- rewrite ≉-deterministic x y x≉y₁ x≉y₂
133108 rewrite ∉-deterministic ys pa pb
134109 = refl
135110
0 commit comments