This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import MirrorCore.Iso. | |
Set Implicit Arguments. | |
Set Strict Implicit. | |
Definition Pi (T : Type) (F : T -> Type) : Type := | |
forall x : T, F x. | |
(** What is the generalization of [Functor] to a dependent function? **) | |
Class DFunctor (Q : Type -> Type) (F : Pi Q) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Set Implicit Arguments. | |
Set Strict Implicit. | |
Inductive Even : nat -> Prop := | |
| Even_O : Even 0 | |
| Even_SS : forall n, Even n -> Even (S (S n)). | |
Goal Even 0. | |
apply Even_O. | |
Qed. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import Coq.Classes.RelationClasses. | |
Require Import Coq.Classes.Morphisms. | |
Fail Inductive X : Type := BAD : (X -> X) -> X. | |
Definition natF (T : Type) : Type := | |
T + unit. | |
(* We define approximation using a fixpoint which computes a Type | |
* by repeatedly applying a function. The base case is the empty set. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(** An axiomatization of commutative monoids | |
**) | |
Parameter m : Type. | |
Parameter star : m -> m -> m. | |
Local Infix "*" := star. | |
Parameter one : m. | |
Axiom star_comm : forall a b : m, a * b = b * a. | |
Axiom star_assoc : forall a b c : m, (a * b) * c = a * (b * c). | |
Axiom one_star : forall a : m, one * a = a. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import Coq.Lists.List. | |
Set Implicit Arguments. | |
Set Strict Implicit. | |
Section hlist. | |
Context {T : Type}. | |
Variable F : T -> Type. | |
Inductive hlist : list T -> Type := | |
| Hnil : hlist nil |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import Coq.Lists.List. | |
Require Import ExtLib.Data.HList. | |
Require Import ExtLib.Data.Member. | |
Set Implicit Arguments. | |
Set Strict Implicit. | |
Arguments MZ {_ _ _}. | |
Arguments MN {_ _ _ _} _. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import Coq.Lists.List. | |
Require Import ExtLib.Data.HList. | |
Require Import ExtLib.Data.Member. | |
Set Implicit Arguments. | |
Set Strict Implicit. | |
Arguments MZ {_ _ _}. | |
Arguments MN {_ _ _ _} _. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Require Import Coq.Lists.List. | |
Require Import Coq.Arith.Arith. | |
Require Import Coq.Bool.Bool. | |
(** | |
** Speeding up Proofs with Computational Reflection | |
** Gregory Malecha | |
** gmalecha.github.io | |
** | |
**) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE DataKinds #-} | |
{-# LANGUAGE GADTs #-} | |
{-# LANGUAGE Rank2Types #-} | |
{-# LANGUAGE KindSignatures #-} | |
{-# LANGUAGE ScopedTypeVariables #-} | |
{-# LANGUAGE LambdaCase #-} | |
module ShapeIndexed where | |
import Data.Constraint | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE RecordWildCards #-} | |
{-# LANGUAGE TypeOperators #-} | |
{-# LANGUAGE RankNTypes #-} | |
{-# LANGUAGE GADTs #-} | |
{-# LANGUAGE DataKinds #-} | |
{-# LANGUAGE KindSignatures #-} | |
{-# LANGUAGE PolyKinds #-} | |
{-# LANGUAGE LambdaCase #-} | |
{-# LANGUAGE TypeFamilies #-} | |
{-# LANGUAGE TypeApplications #-} |
OlderNewer