Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
119 commits
Select commit Hold shift + click to select a range
c52cab6
Merge pull request #1 from 0x01/master
wires Feb 3, 2012
09211a4
Added metric.v defining metric spaces; should replace Classified.v
EvgenyMakarov Apr 27, 2012
ea317ca
git testing
EvgenyMakarov Apr 27, 2012
8a15faf
Merge branch 'master' of github.com:EvgenyMakarov/corn
EvgenyMakarov Apr 27, 2012
2772775
Changed UniformlyContinuous and Contraction into unbundled type class…
EvgenyMakarov May 8, 2012
b546fb4
Proved a lemma for the fixpoint theorem about the distance between x_…
EvgenyMakarov May 11, 2012
6465040
Proved a lemma needed to show that the sequence of approximations is …
EvgenyMakarov May 16, 2012
0b36eb4
Proved lemma dist_xm_xn'
EvgenyMakarov May 21, 2012
4f0a09f
Defined complete metric spaces
EvgenyMakarov Jun 1, 2012
fb046cf
Defined complete metric space
EvgenyMakarov Jun 5, 2012
b49bee4
Proved theorems about limits and continuous functions, contractions
EvgenyMakarov Jun 12, 2012
cfd5d02
Proved Banach fixpoint theorem
EvgenyMakarov Jun 21, 2012
34e397d
Changed the definition of equality in a metric space and removed unne…
EvgenyMakarov Jun 25, 2012
361b4da
Added FromMetric2.v to define conversion from metric2.Metric to the m…
EvgenyMakarov Jun 28, 2012
f3a2413
Proved that metric spaces in terms of CoRN.metric2.Metric are metric …
EvgenyMakarov Jul 3, 2012
518d0ac
Used CoRN.metric2.Metric.gball to shorten the conversion from CoRN me…
EvgenyMakarov Jul 3, 2012
e4681f8
Proved that the completion of a metric space in the sense of Metric2.…
EvgenyMakarov Jul 5, 2012
e4bb1dd
Started adapting Simpson integration to AR
EvgenyMakarov Aug 7, 2012
4358e01
Now compiles with Coq 8.4
EvgenyMakarov Aug 21, 2012
6f9a857
Performed experiments with Simpson integration
EvgenyMakarov Aug 22, 2012
29076dd
Experiments on Simpson integration
EvgenyMakarov Sep 5, 2012
00d9f75
Added Picard iteration
EvgenyMakarov Sep 11, 2012
9ea81f4
Moved Banach Fixpoint theorem into BanachFixpoint.v. Added locally un…
EvgenyMakarov Oct 2, 2012
fbbcc5c
Proving approximation by Riemann sums in AbstractIntegration
EvgenyMakarov Oct 4, 2012
6b91c40
Proving Riemann approximation
EvgenyMakarov Oct 9, 2012
99fd2fa
Proved completeness of the metric space of uniformly continuous funct…
EvgenyMakarov Oct 19, 2012
e9ecadc
Proving corollaries of Riemann approximation
EvgenyMakarov Oct 23, 2012
82e5582
Proved that a closed ball in a complete metric space is a complete me…
EvgenyMakarov Oct 26, 2012
59ce4ff
Moved lemmas about Q and Z into corresponding files
EvgenyMakarov Oct 29, 2012
7d2389f
Merge /home/emakarov/coq/corn
EvgenyMakarov Oct 30, 2012
90baee1
Moved lemmas about Q, gball, etc. to other places in CoRN
EvgenyMakarov Oct 30, 2012
899ba66
Proving properties of Riemann sums
EvgenyMakarov Oct 31, 2012
835f55e
Proved that uniformly continuous functions from R to R are determined…
EvgenyMakarov Nov 1, 2012
027d4ae
Proving that the sum of two integrable functions is integrable
EvgenyMakarov Nov 2, 2012
1c1b567
Update math-classes submodule.
EvgenyMakarov Nov 5, 2012
f15aec7
Proved that the sum of two locally uniformly continuous integrable fu…
EvgenyMakarov Nov 6, 2012
a9aeb4f
Started adapting SimpleIntegration.v to metric.v instead of Classified.v
EvgenyMakarov Nov 7, 2012
b08f2ef
Adapting SimpleIntegration.v to metric.v instead of Classified.v
EvgenyMakarov Nov 8, 2012
0f36628
Finished adapting SimpleIntegration.v
EvgenyMakarov Nov 9, 2012
d53269b
Defined Lipschitz and expressed Contraction through it
EvgenyMakarov Nov 30, 2012
0d0e99a
Adapting to Lipschitz class
EvgenyMakarov Dec 4, 2012
50900d0
Finished expressing Contraction through Lipschitz
EvgenyMakarov Dec 4, 2012
374c673
Proving that integral of locally Lipschitz functions is locally Lipsc…
EvgenyMakarov Dec 5, 2012
35255a8
Proving that integral is Lipschitz
EvgenyMakarov Dec 7, 2012
acb7262
Proving that integral is Lipschitz
EvgenyMakarov Dec 10, 2012
f221fd7
Proved that the integral of a locally Lipschitz function is locally L…
EvgenyMakarov Dec 11, 2012
93aa644
Moved some lemmas to other parts of CoRN
EvgenyMakarov Dec 17, 2012
00c84e0
Defined class Map for types that can be converted to functions (an an…
EvgenyMakarov Dec 17, 2012
68f5cdf
Compiled lemmas moved to other parts of CoRN
EvgenyMakarov Dec 18, 2012
592b975
Added lemmas in math-classes and proved that functions between metric…
EvgenyMakarov Dec 18, 2012
47de9d2
Merge /home/emakarov/coq/corn
EvgenyMakarov Dec 18, 2012
b4636a1
Picard iterations
EvgenyMakarov Dec 21, 2012
c6b057e
Defined product metric space with supremum norm
EvgenyMakarov Dec 24, 2012
ed663bb
Proved that the composition if uniformly continuous functions is unif…
EvgenyMakarov Dec 27, 2012
1097472
Ran 'git add math-classes'
EvgenyMakarov Dec 29, 2012
d8103a5
Changed Map to Func
EvgenyMakarov Jan 1, 2013
a7b2298
Started defining Picard operator
EvgenyMakarov Jan 16, 2013
36c3049
Moved the new code about Picard iterations into Picard.v
EvgenyMakarov Jan 17, 2013
485d295
Started proving that the function to which Picard operator is applied…
EvgenyMakarov Jan 18, 2013
49d8c0f
.
EvgenyMakarov Jan 22, 2013
944984d
Proved some facts about Lipschitz functions
EvgenyMakarov Jan 24, 2013
4dfdc13
Changed type class arguments of some functions and theorems (e.g., di…
EvgenyMakarov Jan 25, 2013
4e2972c
.
EvgenyMakarov Jan 29, 2013
52cff51
.
EvgenyMakarov Jan 29, 2013
5a3ecf8
Merge branch 'master' of github.com:EvgenyMakarov/corn
EvgenyMakarov Jan 29, 2013
aa4e798
Defining Picard operator
EvgenyMakarov Jan 29, 2013
2d98acb
Proving that extend is Lipschitz
EvgenyMakarov Jan 30, 2013
17b76c9
Proved that extension of a Lipschitz function is Lipschitz
EvgenyMakarov Jan 31, 2013
ce84ea6
Proved that the result of the Picard operators is Lipschitz
EvgenyMakarov Feb 2, 2013
32b8f32
Proved that the image of the image of the Picard operator lies in the…
EvgenyMakarov Feb 4, 2013
f6aa710
.
EvgenyMakarov Feb 5, 2013
2da833f
Changed Picard iterations from Lipschitz to UniformlyContinuous. Test…
EvgenyMakarov Feb 7, 2013
ef2c3c1
Created directory 'ode' for ODE solvers
EvgenyMakarov Feb 7, 2013
a34e5ea
Moved ODE solver files to ode/
EvgenyMakarov Feb 7, 2013
f4a0b6b
Made BanachFixpoint.v compile
EvgenyMakarov Feb 11, 2013
3dc2166
.
EvgenyMakarov Feb 12, 2013
4f437f5
.
EvgenyMakarov Feb 13, 2013
bbd13ac
.
EvgenyMakarov Feb 14, 2013
3b7e09b
Merged master and UC (UniformlyContinuous)
EvgenyMakarov Feb 16, 2013
bc16c56
Added the ode/ directory to SConstruct to be compiled
EvgenyMakarov Feb 16, 2013
75c5e4b
Updated README: Coq 8.4pl1 instead of beta EvgenyMakarov in URL inste…
EvgenyMakarov Feb 16, 2013
5f01698
Proved that Picard operator is a contraction
EvgenyMakarov Feb 17, 2013
f3953a8
Proved that Picard operator has a fixpoint
EvgenyMakarov Feb 18, 2013
216d75f
Proved some lemmas
EvgenyMakarov Feb 22, 2013
0769db9
.
EvgenyMakarov Feb 26, 2013
686ce02
Proved that unformly continuous functions are closed under addition a…
EvgenyMakarov Mar 20, 2013
3799b0c
Proved several lemmas
EvgenyMakarov Apr 2, 2013
d790bbc
Proved all lemmas outside of Picard.v
EvgenyMakarov Apr 5, 2013
e16593e
Made AbstractIntegration.v require SimpleIntegration.v instead of the…
EvgenyMakarov Apr 16, 2013
4855512
Proved that the integral of a sum equals the sum of integrals
EvgenyMakarov Apr 19, 2013
f1bd925
Proved lemmas needed for computational example
EvgenyMakarov Apr 20, 2013
79c6dc6
Did computational experiments
EvgenyMakarov Apr 22, 2013
0a75d15
Removed all admit's. Proved that Picard iterations converge to the so…
EvgenyMakarov Apr 28, 2013
cc2a62e
Commented out computations that take too long in Picard.v
EvgenyMakarov May 10, 2013
27a36b2
merging
Jul 1, 2013
6177545
Updating the math-classes submodule
Apr 3, 2014
d82c441
Now works ith 8.4pl4
Apr 3, 2014
abc1395
Updating description
Apr 4, 2014
1d0c7c0
Small changes in example
May 23, 2014
4d76587
Removing html files here, as they are now on:
Jun 2, 2014
0849283
Adding .aux .native
spitters Aug 25, 2014
e879504
updating README
spitters Aug 26, 2014
228a059
Merge pull request #2 from spitters/trunk
spitters Aug 26, 2014
184c69a
In the process of making compile with trunk
spitters Aug 27, 2014
e1a44aa
Making compile with trunk
spitters Aug 29, 2014
beec5f2
Adding file
spitters Sep 1, 2014
70389f3
Moving files.
spitters Sep 1, 2014
c9fc701
Adding files
spitters Sep 1, 2014
7bbcb66
updating
spitters Sep 1, 2014
86854d9
Removing some old tactics.
spitters Sep 2, 2014
d6b1a6d
Removing dependency
spitters Sep 2, 2014
c8c1921
Removing admit.
spitters Sep 2, 2014
05d24df
Cleaning up
spitters Sep 2, 2014
039830e
Merge pull request #3 from spitters/trunk
spitters Sep 2, 2014
cc4f9d6
Make compile with trunk
spitters Sep 18, 2014
82325fb
update README
spitters Sep 18, 2014
036fdea
Merge pull request #4 from spitters/trunk
spitters Sep 18, 2014
3854436
Removing unused tactics
spitters Sep 25, 2014
6194dda
Merge branch 'trunk' of https://github.com/c-corn/corn into trunk
spitters Sep 25, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ coqidescript
*#
deps.dot
deps.pdf
*.native
*.aux
*.crashcoqide
*.cmi
*.cmo
Expand All @@ -28,3 +30,6 @@ deps.pdf
*.o
plot.pgm
coqdoc
*.native
*.aux

3 changes: 2 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[submodule "math-classes"]
path = math-classes
url = git://github.com/robbertkrebbers/math-classes.git
# url = git://github.com/EvgenyMakarov/math-classes.git
url = git://github.com/math-classes/math-classes.git
19 changes: 1 addition & 18 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,10 @@ PREREQUISITES

This version of C-CoRN is known to compile with:

- Coq 8.4 beta

One might also perform the following optimizations:
* Change size = 6 to size = 12 in theories/Numbers/Natural/BigN/NMake_gen.ml
to increase performance for big numbers.
- Coq trunk (d9736dae4168927f735ca4f60b61a83929ae4435)

- SCons 1.2

- In order to build the dependency graph you need a Haskell compiler and the
Graphviz library for Haskell. The latter can be obtained using the Cabal
package manager.

GIT CHECKOUT & SUBMODULES
-------------------------

Expand Down Expand Up @@ -59,12 +51,3 @@ BUILDING DOCUMENTATION
----------------------

To build CoqDoc documentation, say "scons coqdoc".

A dependency graph in DOT format can be created with "scons deps.dot".

PLOTS
-----

If you want high resolution plots in examples/Circle.v, follow the instructions
in dump/INSTALL

2 changes: 1 addition & 1 deletion SConstruct
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import os, glob, string

# Removing examples directory since we do not need it every time.
dirs_to_compile = ['algebra', 'complex', 'coq_reals', 'fta', 'ftc', 'logic', 'metrics', 'model', 'raster', 'reals', 'tactics', 'transc', 'order', 'metric2', 'Liouville', 'stdlib_omissions', 'util', 'classes']
dirs_to_compile = ['algebra', 'complex', 'coq_reals', 'fta', 'ftc', 'logic', 'metrics', 'model', 'raster', 'reals', 'tactics', 'transc', 'order', 'metric2', 'Liouville', 'stdlib_omissions', 'util', 'classes', 'ode']

nodes = map(lambda x: './' + x, dirs_to_compile)
dirs = []
Expand Down
20 changes: 11 additions & 9 deletions algebra/Bernstein.v
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,8 @@ Qed.
Opaque Bernstein.

(** Given a vector of coefficents for a polynomial in the Bernstein basis, return the polynomial *)
Implicit Arguments Vector.nil [A].
Implicit Arguments Vector.cons [A].

Fixpoint evalBernsteinBasisH (n i:nat) (v:Vector.t R i) : i <= n -> cpoly_cring R :=
match v in Vector.t _ i return i <= n -> cpoly_cring R with
Expand All @@ -296,13 +298,13 @@ Proof.
apply Vector.nil.

inversion v as [| a n0 H0 H1]; inversion v0 as [| a0 n1 H2 H3].
exact (Vector.cons A (g a a0) n (h H0 H2)).
exact (Vector.cons (g a a0) n (h H0 H2)).
Defined.

Definition Vid n : Vector.t A n -> Vector.t A n :=
match n with
| O => fun _ => Vector.nil A
| S n' => fun v : Vector.t A (S n') => Vector.cons A (Vector.hd v) _ (Vector.tl v)
| O => fun _ => Vector.nil
| S n' => fun v : Vector.t A (S n') => Vector.cons (Vector.hd v) _ (Vector.tl v)
end.

Lemma Vid_eq : forall (n:nat) (v:Vector.t A n), v = Vid v.
Expand All @@ -311,13 +313,13 @@ Proof.
Qed.

Lemma VSn_eq :
forall (n : nat) (v : Vector.t A (S n)), v = Vector.cons A (Vector.hd v) _ (Vector.tl v).
forall (n : nat) (v : Vector.t A (S n)), v = Vector.cons (Vector.hd v) _ (Vector.tl v).
Proof.
intros.
exact (Vid_eq v).
Qed.

Lemma V0_eq : forall (v : Vector.t A 0), v = Vector.nil A.
Lemma V0_eq : forall (v : Vector.t A 0), v = Vector.nil.
Proof.
intros.
exact (Vid_eq v).
Expand Down Expand Up @@ -394,10 +396,10 @@ ring homomorphism from [Q] to R *)

Fixpoint BernsteinBasisTimesXH (n i:nat) (v:Vector.t R i) : i <= n -> Vector.t R (S i) :=
match v in Vector.t _ i return i <= n -> Vector.t R (S i) with
| Vector.nil => fun _ => Vector.cons _ [0] _ (Vector.nil _)
| Vector.nil => fun _ => Vector.cons [0] _ Vector.nil
| Vector.cons a i' v' => match n as n return S i' <= n -> Vector.t R (S (S i')) with
| O => fun p => False_rect _ (le_Sn_O _ p)
| S n' => fun p => Vector.cons _ (eta(Qred (i#P_of_succ_nat n'))[*]a) _ (BernsteinBasisTimesXH v' (le_Sn_le _ _ p))
| S n' => fun p => Vector.cons (eta(Qred (i#P_of_succ_nat n'))[*]a) _ (BernsteinBasisTimesXH v' (le_Sn_le _ _ p))
end
end.

Expand Down Expand Up @@ -470,8 +472,8 @@ Qed.
(** Convert a polynomial to the Bernstein basis *)
Fixpoint BernsteinCoefficents (p:cpoly_cring R) : sigT (Vector.t R) :=
match p with
| cpoly_zero => existT _ _ (Vector.nil R)
| cpoly_linear c p' =>
| cpoly_zero _ => existT _ _ Vector.nil
| cpoly_linear _ c p' =>
let (n', b') := (BernsteinCoefficents p') in
existT _ _ (Vbinary (fun (x y:R)=>x[+]y) (Vector.const c _) (BernsteinBasisTimesX b'))
end.
Expand Down
13 changes: 8 additions & 5 deletions algebra/CPoly_Degree.v
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ is always [1] higher than the `degree' (assuming that the highest
coefficient is [[#][0]])!
*)

Implicit Arguments cpoly_zero [CR].
Implicit Arguments cpoly_linear [CR].

Fixpoint lth_of_poly (p : RX) : nat :=
match p with
| cpoly_zero => 0
Expand Down Expand Up @@ -215,14 +218,14 @@ Lemma Sum_degree_le : forall (f : nat -> RX) (n k l : nat), k <= S l ->
Proof.
unfold degree_le in |- *. intros. induction l as [| l Hrecl]; intros.
generalize (toCle _ _ H); clear H; intro H.
inversion H as [|m0 X].
inversion H as [|m0 X].
unfold Sum in |- *. unfold Sum1 in |- *. simpl in |- *.
apply eq_transitive_unfolded with (nth_coeff m ([0]:RX)).
apply eq_transitive with (nth_coeff m ([0]:RX)).
apply nth_coeff_wd. algebra. algebra.
inversion X. unfold Sum in |- *. unfold Sum1 in |- *. simpl in |- *.
apply eq_transitive_unfolded with (nth_coeff m (f 0)).
inversion X. rename H3 into kis0. unfold Sum in |- *. unfold Sum1 in |- *. simpl in |- *.
apply eq_transitive with (nth_coeff m (f 0)).
apply nth_coeff_wd. cut (f 0[-][0] [=] f 0). auto. algebra.
apply H0; try auto. rewrite H2. auto.
apply H0; try auto. rewrite kis0; auto.
elim (le_lt_eq_dec _ _ H); intro y.
apply eq_transitive_unfolded with (nth_coeff m (Sum k l f[+]f (S l))).
apply nth_coeff_wd. algebra.
Expand Down
Loading