Skip to content

Instantly share code, notes, and snippets.

View NotBad4U's full-sized avatar
🕵️‍♂️
looking for a PhD !

Alessio Coltellacci NotBad4U

🕵️‍♂️
looking for a PhD !
View GitHub Profile
require open Stdlib.FOL;
require open Stdlib.Prop;
require open Stdlib.Set;
require open Stdlib.Nat;
require open Stdlib.Bool;
require open Stdlib.Eq;
require open Stdlib.Z;
require open Stdlib.List;
// References use
// PRELUDE ##############
// Définitions intuitioniste nécessaires pour illustrer le problème dans Classic.
constant symbol Prop : TYPE;
injective symbol π : Prop → TYPE; // `p
constant symbol ∨ : Prop → Prop → Prop; notation ∨ infix left 6; // \/ or \vee
constant symbol ∨ᵢ₁ [p q] : π p → π (p ∨ q);
@NotBad4U
NotBad4U / Inc.v
Created September 14, 2023 21:05
From Coq Require Import Bool.Bool.
From Coq Require Import Arith.Arith.
From Coq Require Import Arith.EqNat.
From Coq Require Import Arith.PeanoNat. Import Nat.
From Coq Require Import Lia.
Require Export Coq.Strings.String.
From Coq Require Import Logic.FunctionalExtensionality.
From Coq Require Import Lists.List.
Import ListNotations.
trait Category<'a> { // A
type Y<A: 'a, B: 'a>; // B
fn id<A: 'a>() -> Self::Y<A, A>;
fn compose<A:'a,B: 'a, C:'a>(f: Self::Y<A, B>, g: Self::Y<B, C>) -> Self::Y<A, C>;
}
struct WrapperFunc;
------------------------------ MODULE real -------------------------------
EXTENDS Naturals, Integers, Sequences, FiniteSets, FiniteSetsExt, NaturalsInduction
CONSTANT max
McNat == 0..max
(***********************************************************************)
(* Approximate sqrt(r) *)