Skip to content

Commit 18a8d74

Browse files
authored
Merge pull request #40 from pmbittner/get-rid-of-extensionality
Get rid of extensionality in FST
2 parents 7a8d3f6 + 1b8ab62 commit 18a8d74

File tree

1 file changed

+0
-25
lines changed

1 file changed

+0
-25
lines changed

src/Lang/FST.agda

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,6 @@ open import Framework.Definitions
55
{-
66
This module formalizes feature structure trees.
77
We 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
-}
219
module Lang.FST (F : 𝔽) where
2210

@@ -111,25 +99,12 @@ xs ⋢ ys = Any (_∉ ys) xs
11199
Disjoint : {i A} (xs ys : List (FST i A)) Set₁ --\squb=n
112100
Disjoint 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

Comments
 (0)