module ExamplePrograms.Demo.Examples where
open import Data.List
open import Data.Product using (_×_; ∃; ∃-syntax; Σ; Σ-syntax) renaming (_,_ to ⟨_,_⟩)
open import Common.Utils
open import Common.Types
open import Surface.SurfaceLang
open import CC.CCStatics renaming (Term to CCTerm)
open import ExamplePrograms.Demo.Example1 public
open import ExamplePrograms.Demo.Example2 public
open import ExamplePrograms.Demo.Example3 public
Cfg = Term × ∃[ M ] ∃[ A ] [] ; ∅ ; l low ; low ⊢ M ⦂ A
cfgs : List Cfg
cfgs =
⟨ N , 𝒞N , _ , ⊢𝒞N ⟩ ∷ ⟨ M* , 𝒞M* , _ , ⊢𝒞M* ⟩ ∷
⟨ N₁ , 𝒞N₁ , _ , ⊢𝒞N₁ ⟩ ∷ ⟨ N₂ , 𝒞N₂ , _ , ⊢𝒞N₂ ⟩ ∷
⟨ M₁ , 𝒞M₁ , _ , ⊢𝒞M₁ ⟩ ∷ ⟨ M₂ , 𝒞M₂ , _ , ⊢𝒞M₂ ⟩ ∷
⟨ M*₁ , 𝒞M*₁ , _ , ⊢𝒞M*₁ ⟩ ∷ ⟨ M*₂ , 𝒞M*₂ , _ , ⊢𝒞M*₂ ⟩ ∷
⟨ M*₁′ , 𝒞M*₁′ , _ , ⊢𝒞M*₁′ ⟩ ∷ ⟨ M*₂′ , 𝒞M*₂′ , _ , ⊢𝒞M*₂′ ⟩ ∷ []