{-# OPTIONS --cubical-compatible #-}
module Padova2025.Explorations.Forcing.Orthogonal where
open import Padova2025.ProgrammingBasics.Naturals.Base open import Padova2025.ProgrammingBasics.Lists open import Padova2025.ProvingBasics.Equality.Base open import Padova2025.ProvingBasics.Equality.General open import Padova2025.ProvingBasics.Termination.Ordering open import Padova2025.ProvingBasics.Connectives.Disjunction open import Padova2025.ProvingBasics.Connectives.Conjunction open import Padova2025.ProvingBasics.Connectives.Existential open import Padova2025.ProvingBasics.Connectives.More
Orthogonal forcing
This is work in progress to formalize a counterexample to the conjecture that the cartesian product of streamless sets is streamless.
Good : {X : Set} β (X β X β Set) β (β β X) β Set Good _β_ f = β[ i ] β[ j ] i β’ j Γ f i β f j
key-lemma : (f : β β β) (n : β) β Good _β‘_ f β β[ i ] β[ j ] i β’ j Γ (f i β₯ n Γ f j β₯ n)
key-lemma f n = {!!}
-- Proof idea: Inspect the first n + 2 values of f.
-- There are only n numbers smaller than n.
-- So if these values are all distinct, at least two of them are guaranteed to be β₯ n.
-- Else we have duplicates.
data Cl {X : Set} (_β_ : X β X β Set) : X β X β Set where β-base : {a b : X} β a β b β Cl _β_ a b β-refl : {a : X} β Cl _β_ a a β-symm : {a b : X} β Cl _β_ a b β Cl _β_ b a β-trans : {a b c : X} β Cl _β_ a b β Cl _β_ b c β Cl _β_ a c
Cl' : {X : Set} β List (X Γ X) β (X β X β Set) Cl' ps = Cl (Ξ» a b β (a , b) β ps)
_β««_ : {X : Set} β (R S : X β X β Set) β Set R β«« S = (a b : _) β R a b β S a b β a β‘ b
L : Set L = List (β Γ β) Γ List (β Γ β)
data β (P : L β Set) : L β Set where now : {Ο : L} β P Ο β β P Ο laterβ : {R S : List (β Γ β)} β (f : β β β) β ((R' S' : List (β Γ β)) β Good (Cl' (R ++ R')) f β β P (R ++ R' , S ++ S')) β β P (R , S) laterα΅£ : {R S : List (β Γ β)} β (f : β β β) β ((R' S' : List (β Γ β)) β Good (Cl' (S ++ S')) f β β P (R ++ R' , S ++ S')) β β P (R , S)
escape : {P : L β Set} (R S : List (β Γ β)) β Cl' R β«« Cl' S β β P (R , S) β β[ R' ] β[ S' ] (Cl' R' β«« Cl' S') Γ P (R' , S')
escape = {!!}
theorem : Β¬ β (Ξ» (R , S) β β[ i ] β[ j ] i β’ j Γ Cl' R i j Γ Cl' S i j) ([] , [])
theorem = {!!}