Skip to content

Commit

Permalink
conclude incompleteness/unsoundess from less-expressive
Browse files Browse the repository at this point in the history
  • Loading branch information
pmbittner committed Sep 25, 2024
1 parent 65b2411 commit 12276ae
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions src/Vatras/Framework/Proof/ForFree.lagda.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,33 @@ less-expressive-from-soundness : ∀ {L M : VariabilityLanguage V}
→ L ⋡ M
less-expressive-from-soundness L-sound M-unsound M≽L =
M-unsound (soundness-by-expressiveness L-sound M≽L)
{-|
A language M that is not at least as expressive as any sound langauge L,
can never be complete.
Dual theorem to: unsoundness-from-less-expressive
-}
incompleteness-from-less-expressive : ∀ {L M : VariabilityLanguage V}
→ Sound L
→ M ⋡ L
------------
→ Incomplete M
incompleteness-from-less-expressive L-sound M⋡L M-comp = M⋡L (expressiveness-by-completeness-and-soundness M-comp L-sound)
{-|
If there exists a complete language L that is not able to express everything
M can express, then M must be unsound (i.e., there must be meanings in M that
cannot be captured by L but since L is complete, it captures all meanings of interest).
Dual theorem to: incompleteness-from-less-expressive
-}
unsoundness-from-less-expressive : ∀ {L M : VariabilityLanguage V}
→ Complete L
→ L ⋡ M
----------
→ Unsound M
unsoundness-from-less-expressive L-comp L⋡M M-sound = L⋡M (expressiveness-by-completeness-and-soundness L-comp M-sound)
```

Combined with `expressiveness-by-completeness`/`expressiveness-by-soundness` we can even further conclude that L is more expressive than M or vice versa:
Expand Down

0 comments on commit 12276ae

Please sign in to comment.