------------------------------------------------------------------------------ -- Logical Theory of Constructions for PCF (LTC-PCF) ------------------------------------------------------------------------------ {-# OPTIONS --exact-split #-} {-# OPTIONS --no-sized-types #-} {-# OPTIONS --no-universe-polymorphism #-} {-# OPTIONS --without-K #-} -- Code accompanying the paper "Embedding a Logical Theory of -- Constructions in Agda" by Ana Bove, Peter Dybjer and Andrés -- Sicard-Ramírez (PLPV'09). -- The code presented here does not match the paper exactly. module LTC-PCF.README where ------------------------------------------------------------------------------ -- Description -- Formalization of (a version of) Azcel's Logical Theory of -- Constructions for PCF. ------------------------------------------------------------------------------ -- The axioms open import LTC-PCF.Base -- Properties open import LTC-PCF.Base.Properties ------------------------------------------------------------------------------ -- Booleans -- The inductive predicate open import LTC-PCF.Data.Bool.Type -- Properties open import LTC-PCF.Data.Bool.Properties ------------------------------------------------------------------------------ -- Natural numberes -- The arithmetical functions open import LTC-PCF.Data.Nat -- The inductive predicate open import LTC-PCF.Data.Nat.Type -- Properties open import LTC-PCF.Data.Nat.Properties -- Divisibility relation open import LTC-PCF.Data.Nat.Divisibility.NotBy0.Properties -- Induction open import LTC-PCF.Data.Nat.Induction.NonAcc.Lexicographic open import LTC-PCF.Data.Nat.Induction.NonAcc.WF -- Inequalites open import LTC-PCF.Data.Nat.Inequalities.EliminationProperties open import LTC-PCF.Data.Nat.Inequalities.Properties -- The recursive operator open import LTC-PCF.Data.Nat.Rec.ConversionRules ------------------------------------------------------------------------------ -- A looping combinator open import LTC-PCF.Loop ------------------------------------------------------------------------------ -- Verification of programs -- The division algorithm: A non-structurally recursive algorithm open import LTC-PCF.Program.Division.CorrectnessProof -- The GCD algorithm: A non-structurally recursive algorithm open import LTC-PCF.Program.GCD.Partial.CorrectnessProof open import LTC-PCF.Program.GCD.Total.CorrectnessProof