summaryrefslogtreecommitdiff
path: root/source/Test
diff options
context:
space:
mode:
authoradelon <22380201+adelon@users.noreply.github.com>2026-08-05 17:55:31 +0200
committeradelon <22380201+adelon@users.noreply.github.com>2026-08-05 17:55:31 +0200
commit2f6b8a5033bed7736c54494d6f0cca98771cc9e0 (patch)
tree4806d9a8c5b8d390c05f57d26085d891545c8293 /source/Test
parentb5237180718b7290957b4f4f966a316e09306d54 (diff)
Pin relational extensional schema
Diffstat (limited to 'source/Test')
-rw-r--r--source/Test/Unit/Declaration.hs44
1 files changed, 42 insertions, 2 deletions
diff --git a/source/Test/Unit/Declaration.hs b/source/Test/Unit/Declaration.hs
index c64ef54..4c8c3f0 100644
--- a/source/Test/Unit/Declaration.hs
+++ b/source/Test/Unit/Declaration.hs
@@ -2434,6 +2434,30 @@ lowersExactReplacementTelescopes = do
(Core.scopedCoreTerm
(SetConstruction.relationalSetConstructionFunctionality
construction))
+ let relationalObject =
+ Identity.assertedObjectId
+ (opaqueFixtureObject fixture)
+ closedFunctionality =
+ SetConstruction.relationalSetConstructionClosedFunctionality
+ construction
+ relationalFact <-
+ maybe
+ (assertFailure
+ "exact functionality did not unlock relational extensionality"
+ >> fail "unreachable")
+ pure
+ (SetConstruction.relationalSetConstructionObjectFact
+ (SetConstruction.checkedFoundationSetConstruction
+ (fixtureFoundation fixture))
+ relationalObject
+ construction
+ closedFunctionality)
+ assertEqual
+ "relational replacement flattened extensional proposition"
+ (expectedRelationalExtensional relationalObject)
+ (Core.frozenCoreTerm
+ (SetConstruction.relationalSetConstructionFactProposition
+ relationalFact))
assertEqual
"unrelated functionality cannot unlock the relational view"
Nothing
@@ -2452,8 +2476,7 @@ lowersExactReplacementTelescopes = do
(SetConstruction.relationalSetConstructionObjectFact
(SetConstruction.checkedFoundationSetConstruction
(fixtureFoundation fixture))
- (Identity.assertedObjectId
- (opaqueFixtureObject fixture))
+ relationalObject
construction
wrongClosed))
_ ->
@@ -2512,6 +2535,23 @@ lowersExactReplacementTelescopes = do
(Core.CBound 2) (Core.CBound 0)))
(Core.CEq Core.TySet
(Core.CBound 1) (Core.CBound 0))))))
+ expectedRelationalExtensional object =
+ Core.CForall Core.TySet
+ (Core.CForall Core.TySet
+ (Core.CEq Core.TyProp
+ (relApp2 Core.Member
+ (Core.CBound 0)
+ (Core.CApp
+ (Core.CGlobal object)
+ (Core.CBound 1)))
+ (existsP
+ (andP
+ (relApp2 Core.Member
+ (Core.CBound 0)
+ (Core.CBound 2))
+ (Core.CEq Core.TySet
+ (Core.CBound 0)
+ (Core.CBound 1))))))
lowersExactFiniteSets :: Assertion
lowersExactFiniteSets = do