Skip to content

Instantly share code, notes, and snippets.

@NotBad4U
NotBad4U / lia.lp
Last active September 26, 2024 14:48
lia
require open Stdlib.Set Stdlib.Prop Stdlib.FOL Stdlib.Eq Stdlib.Pos Stdlib.Bool;
inductive ℤ : TYPE ≔ // \BbbZ
| Z0 : ℤ
| Zpos : ℙ → ℤ
| Zneg : ℙ → ℤ;
constant symbol int : Set;
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) *)