# HG changeset patch # User Shinji KONO # Date 1642904101 -32400 # Node ID cd73fe566291f4b6357d4ba3add1c0a91afea88f # Parent 4aa0ebd756730e7414af2243922dafe909bb3b0b temporal logic diff -r 4aa0ebd75673 -r cd73fe566291 automaton-in-agda/src/induction-ex.agda --- a/automaton-in-agda/src/induction-ex.agda Fri Jan 21 12:31:34 2022 +0900 +++ b/automaton-in-agda/src/induction-ex.agda Sun Jan 23 11:15:01 2022 +0900 @@ -1,4 +1,4 @@ -{-# OPTIONS --guardedness #-} +{-# OPTIONS --guardedness --sized-types #-} module induction-ex where open import Relation.Binary.PropositionalEquality @@ -80,10 +80,11 @@ ν ∅ = false δ ∅ _ = ∅ -∅' : {i : Size } { A : Set } → Lang i A -∅' {i} {A} = record { ν = false ; δ = lemma3 } where - lemma3 : {j : Size< i} → A → Lang j A - lemma3 {j} _ = {!!} +-- record syntax does not recognize sized data +-- ∅' : {i : Size } { A : Set } → Lang i A +-- ∅' {i} {A} = record { ν = false ; δ = lemma3 } where +-- lemma3 : {j : Size< i} → A → Lang j A +-- lemma3 {j} _ = ∅' ∅l : {A : Set } → language {A} ∅l _ = false diff -r 4aa0ebd75673 -r cd73fe566291 automaton-in-agda/src/libbijection.agda --- a/automaton-in-agda/src/libbijection.agda Fri Jan 21 12:31:34 2022 +0900 +++ b/automaton-in-agda/src/libbijection.agda Sun Jan 23 11:15:01 2022 +0900 @@ -58,6 +58,15 @@ } +open import bijection +bij-Setoid : {n : Level} → Setoid (Level.suc n) n +bij-Setoid {n} = record { + Carrier = Set n + ; _≈_ = Bijection + ; isEquivalence = bijIsEquivalence -- record { sym = bi-sym _ _ ; refl = bid _ ; trans = bi-trans _ _ _ } + } + + libBijection : {n m : Level} (R : Set n) (S : Set m) → Bijection R S → Bijection1 (≡-Setoid R) (≡-Setoid S) libBijection R S b = record { to = record { _⟨$⟩_ = λ x → fun→ b x ; cong = λ i=j → cong (fun→ b) i=j } diff -r 4aa0ebd75673 -r cd73fe566291 automaton-in-agda/src/temporal-logic.agda --- a/automaton-in-agda/src/temporal-logic.agda Fri Jan 21 12:31:34 2022 +0900 +++ b/automaton-in-agda/src/temporal-logic.agda Sun Jan 23 11:15:01 2022 +0900 @@ -33,7 +33,7 @@ M1 σ i (s x) = σ i x ≡ true M1 σ i (○ x) = M1 σ (suc i) x M1 σ i (□ p) = (j : ℕ) → i ≤ j → M1 σ j p -M1 σ i (⋄ p) = ¬ ( M1 σ i (t-not p) ) +M1 σ i (⋄ p) = ¬ ( M1 σ i (□ (t-not p) )) M1 σ i (p U q) = ¬ ( ( j : ℕ) → i ≤ j → ¬ (M1 σ j q ∧ (( k : ℕ) → i ≤ k → k < j → M1 σ j p )) ) M1 σ i (t-not p) = ¬ ( M1 σ i p ) M1 σ i (p t\/ p₁) = M1 σ i p ∧ M1 σ i p₁ @@ -54,7 +54,7 @@ MI : { V : Set } → (ℕ → V → Bool) → (i j : ℕ) → i ≤ j → LITL V → Set MI σ i j lt (iv x) = σ i x ≡ true MI σ i j lt (i○ x) with <-cmp i j -... | tri< a ¬b ¬c = MI σ (suc i) j {!!} x +... | tri< a ¬b ¬c = MI σ (suc i) j a x ... | tri≈ ¬a b ¬c = ⊤ ... | tri> ¬a ¬b c = ⊥-elim ( nat-≤> lt c) MI σ i j lt (p & q) = ¬ ( ( k : ℕ) → (i