roots_alluris;
prerr_endline "finished....";
let lll = List.sort compare (CicUniv.do_rank (get_graph ())) in
- prerr_endline "caching objects";
let _ =
+ try
let rec aux = function
| a::(b::_ as tl) ->
NCicEnvironment.add_constraint true (mk_type a) (mk_type b);
NCicEnvironment.add_constraint true (mk_cprop a) (mk_cprop b);
NCicEnvironment.add_constraint true (mk_type a) (mk_cprop a);
NCicEnvironment.add_constraint true (mk_cprop a) (mk_type b);
- NCicEnvironment.add_constraint true (mk_type b) (mk_cprop b);
aux tl
+ | [a] ->
+ NCicEnvironment.add_constraint true (mk_type a) (mk_cprop a);
| _ -> ()
in
aux lll
+ with NCicEnvironment.BadConstraint s as e ->
+ prerr_endline (Lazy.force s); raise e
in
prerr_endline "ranked....";
+ prerr_endline (NCicEnvironment.pp_constraints ());
HExtlib.profiling_enabled := false;
List.iter (fun uu ->
let uu= OCic2NCic.nuri_of_ouri uu in
indent := 0;
let o = NCicLibrary.get_obj uu in
+(* prerr_endline (NCicPp.ppobj o); *)
try
NCicTypeChecker.typecheck_obj o
with
| NCicTypeChecker.AssertFailure s
| NCicTypeChecker.TypeCheckerFailure s
| NCicEnvironment.ObjectNotFound s
+ | NCicEnvironment.BadConstraint s
| NCicEnvironment.BadDependency s as e ->
prerr_endline ("######### " ^ Lazy.force s);
if not ignore_exc then raise e
C: ∀a:A. i a → 2 \sup A
}.
+inductive iter (A: axiom_set) (U,V: 2 \sup A) (covers: A → CProp) : CProp ≝
+ cycle: (∀a:A.a ∈ V → covers a) → iter A U V covers.
+
inductive covers (A: axiom_set) (U: 2 \sup A) : A → CProp ≝
refl: ∀a:A. a ∈ U → covers A U a
- | infinity: ∀a:A. ∀j: i ? a. coversl A U (C ? a j) → covers A U a
-with coversl : (2 \sup A) → CProp ≝
- iter: ∀V:2 \sup A.(∀a:A.a ∈ V → covers A U a) → coversl A U V.
+ | infinity: ∀a:A. ∀j: i ? a. iter A U (C ? a j) (covers A U) → covers A U a.
notation "hvbox(a break ◃ b)" non associative with precedence 45
for @{ 'covers $a $b }.
-interpretation "coversl" 'covers A U = (coversl _ U A).
+interpretation "coversl" 'covers A U = (iter _ U A (covers _ U)).
interpretation "covers" 'covers a U = (covers _ U a).
definition covers_elim ≝
let rec aux (a:A) (p:a ◃ U) on p : a ∈ P ≝
match p return λaa.λ_:aa ◃ U.aa ∈ P with
[ refl a q ⇒ H1 a q
- | infinity a j q ⇒ H2 a j q (auxl (C ? a j) q)
- ]
- and auxl (V: 2 \sup A) (q: V ◃ U) on q : ∀b. b ∈ V → b ∈ P ≝
- match q return λVV.λ_:VV ◃ U.∀b. b ∈ VV → b ∈ P with
- [ iter VV f ⇒ λb.λr. aux b (f b r) ]
+ | infinity a j q ⇒
+ H2 a j q
+ match q return λ_:(C ? a j) ◃ U.∀b. b ∈ (C ? a j) → b ∈ P with
+ [ cycle f ⇒ λb.λr. aux b (f b r) ]]
in
aux.
theorem compatibility: ∀A:axiom_set.∀a:A.∀U,V. a ⋉ V → a ◃ U → U ⋉ V.
intros;
- generalize in match H; clear H; generalize in match V; clear V;
- apply (covers_elim ?? (mk_powerset A (λa.∀p:2 \sup A.a ⋉ p → U ⋉ p)) ??? H1);
+ generalize in match H; clear H;
+ apply (covers_elim ?? (mk_powerset A (λa.a ⋉ V → U ⋉ V)) ??? H1);
clear H1; simplify; intros;
[ exists [apply a1]
split;
algebra/finite_groups.ma algebra/groups.ma nat/relevant_equations.ma
algebra/semigroups.ma higher_order_defs/functions.ma
algebra/monoids.ma algebra/semigroups.ma
+demo/power_derivative.ma nat/compare.ma nat/nat.ma nat/orders.ma nat/plus.ma
demo/propositional_sequent_calculus.ma datatypes/constructors.ma list/sort.ma nat/compare.ma nat/plus.ma
demo/realisability.ma datatypes/constructors.ma logic/connectives.ma
-demo/power_derivative.ma nat/compare.ma nat/nat.ma nat/orders.ma nat/plus.ma
-list/in.ma datatypes/bool.ma datatypes/constructors.ma list/list.ma
+demo/formal_topology.ma logic/equality.ma
list/sort.ma datatypes/bool.ma datatypes/constructors.ma list/in.ma
list/list.ma datatypes/bool.ma higher_order_defs/functions.ma logic/equality.ma nat/nat.ma nat/orders.ma nat/plus.ma
+list/in.ma datatypes/bool.ma datatypes/constructors.ma list/list.ma
logic/equality.ma higher_order_defs/relations.ma logic/connectives.ma
logic/connectives.ma
logic/coimplication.ma logic/connectives.ma
logic/connectives2.ma higher_order_defs/relations.ma
-nat/sieve.ma list/sort.ma nat/primes.ma
nat/div_and_mod.ma datatypes/constructors.ma nat/minus.ma
nat/count.ma nat/permutation.ma nat/relevant_equations.ma nat/sigma_and_pi.ma
-nat/factorial2.ma nat/exp.ma nat/factorial.ma
nat/totient1.ma nat/compare.ma nat/gcd_properties1.ma nat/iteration2.ma nat/totient.ma
nat/congruence.ma nat/primes.ma nat/relevant_equations.ma
nat/minus.ma nat/compare.ma nat/le_arith.ma
-nat/chebyshev.ma nat/factorial2.ma nat/factorization.ma nat/log.ma nat/o.ma nat/pi_p.ma
nat/chinese_reminder.ma nat/congruence.ma nat/exp.ma nat/gcd.ma nat/permutation.ma
nat/permutation.ma nat/compare.ma nat/sigma_and_pi.ma
nat/factorial.ma nat/le_arith.ma
nat/nth_prime.ma nat/lt_arith.ma nat/primes.ma
-nat/binomial.ma nat/factorial2.ma nat/iteration2.ma
-nat/chebyshev_teta.ma nat/binomial.ma nat/pi_p.ma
nat/fermat_little_theorem.ma nat/congruence.ma nat/exp.ma nat/gcd.ma nat/permutation.ma
nat/exp.ma nat/div_and_mod.ma nat/lt_arith.ma
nat/minimization.ma nat/minus.ma
nat/gcd.ma nat/lt_arith.ma nat/primes.ma
-nat/chebyshev_thm.ma nat/neper.ma
-nat/neper.ma nat/binomial.ma nat/chebyshev.ma nat/div_and_mod_diseq.ma nat/iteration2.ma nat/log.ma
nat/sigma_and_pi.ma nat/exp.ma nat/factorial.ma nat/lt_arith.ma
nat/le_arith.ma nat/orders.ma nat/times.ma
-nat/sqrt.ma nat/compare.ma nat/log.ma nat/times.ma
nat/times.ma nat/plus.ma
-nat/div_and_mod_diseq.ma nat/lt_arith.ma
-nat/generic_iter_p.ma nat/div_and_mod_diseq.ma nat/ord.ma nat/primes.ma
nat/gcd_properties1.ma nat/gcd.ma
nat/totient.ma nat/chinese_reminder.ma nat/iteration2.ma
nat/lt_arith.ma nat/div_and_mod.ma
-nat/bertrand.ma list/in.ma list/sort.ma nat/chebyshev.ma nat/chebyshev_teta.ma nat/o.ma nat/sieve.ma nat/sqrt.ma
nat/factorization.ma nat/ord.ma
-nat/log.ma datatypes/constructors.ma nat/div_and_mod_diseq.ma nat/iteration2.ma nat/minimization.ma nat/primes.ma nat/relevant_equations.ma
+nat/generic_iter_p.ma nat/div_and_mod_diseq.ma nat/ord.ma nat/primes.ma
nat/iteration2.ma nat/count.ma nat/generic_iter_p.ma nat/ord.ma nat/primes.ma
+nat/factorial2.ma nat/exp.ma nat/factorial.ma
+nat/pi_p.ma nat/generic_iter_p.ma nat/iteration2.ma nat/primes.ma
nat/nat.ma higher_order_defs/functions.ma
nat/relevant_equations.ma nat/gcd.ma nat/minus.ma nat/times.ma
nat/map_iter_p.ma nat/count.ma nat/permutation.ma
nat/orders.ma higher_order_defs/ordering.ma logic/connectives.ma nat/nat.ma
-nat/pi_p.ma nat/generic_iter_p.ma nat/iteration2.ma nat/primes.ma
nat/plus.ma nat/nat.ma
-nat/factorization2.ma nat/factorization.ma
nat/euler_theorem.ma nat/nat.ma nat/map_iter_p.ma nat/totient.ma
nat/compare.ma datatypes/bool.ma datatypes/compare.ma nat/orders.ma
nat/primes.ma logic/connectives.ma nat/div_and_mod.ma nat/factorial.ma nat/minimization.ma nat/sigma_and_pi.ma
nat/ord.ma datatypes/constructors.ma nat/exp.ma nat/gcd.ma nat/nth_prime.ma nat/relevant_equations.ma
+nat/chebyshev.ma nat/factorial2.ma nat/factorization.ma nat/log.ma nat/o.ma nat/pi_p.ma
+nat/log.ma datatypes/constructors.ma nat/div_and_mod_diseq.ma nat/iteration2.ma nat/minimization.ma nat/primes.ma nat/relevant_equations.ma
+nat/chebyshev_thm.ma nat/neper.ma
+nat/div_and_mod_diseq.ma nat/lt_arith.ma
+nat/binomial.ma nat/factorial2.ma nat/iteration2.ma
+nat/neper.ma nat/binomial.ma nat/chebyshev.ma nat/div_and_mod_diseq.ma nat/iteration2.ma nat/log.ma
+nat/sqrt.ma nat/compare.ma nat/log.ma nat/times.ma
+nat/chebyshev_teta.ma nat/binomial.ma nat/pi_p.ma
nat/o.ma nat/binomial.ma nat/sqrt.ma
-Q/inv.ma Q/q.ma
-Q/frac.ma
+nat/bertrand.ma list/in.ma list/sort.ma nat/chebyshev.ma nat/chebyshev_teta.ma nat/o.ma nat/sieve.ma nat/sqrt.ma
+nat/sieve.ma list/sort.ma nat/primes.ma
+nat/factorization2.ma list/list.ma nat/factorization.ma nat/sieve.ma
+Q/q.ma Q/fraction/fraction.ma Z/compare.ma Z/plus.ma nat/factorization.ma
Q/Qaxioms.ma Z/compare.ma Z/times.ma nat/iteration2.ma
-Q/q.ma Z/compare.ma Z/plus.ma nat/factorization.ma
-Q/nat_fact/times.ma nat/factorization.ma
+Q/frac.ma nat/nat.ma Q/q/q.ma Q/q/qinv.ma nat/factorization.ma
+Q/inv.ma Q/fraction/finv.ma Q/q.ma Q/q/q.ma
Q/ratio/rtimes.ma Q/fraction/ftimes.ma Q/ratio/rinv.ma
Q/ratio/ratio.ma Q/fraction/fraction.ma
Q/ratio/rinv.ma Q/fraction/finv.ma Q/ratio/ratio.ma
-Q/q/qtimes.ma Q/q/qinv.ma Q/ratio/rtimes.ma
-Q/q/qplus.ma nat/factorization.ma
-Q/q/qinv.ma Q/q/q.ma Q/ratio/rinv.ma
-Q/q/q.ma Q/fraction/numerator_denominator.ma Q/ratio/ratio.ma
+Q/fraction/fraction.ma Z/compare.ma nat/factorization.ma
Q/fraction/ftimes.ma Q/fraction/finv.ma Q/nat_fact/times.ma Q/ratio/ratio.ma Z/times.ma
Q/fraction/numerator_denominator.ma Q/fraction/finv.ma
Q/fraction/finv.ma Q/fraction/fraction.ma Z/plus.ma
-Q/fraction/fraction.ma Z/compare.ma nat/factorization.ma
+Q/q/qplus.ma nat/factorization.ma
+Q/q/qinv.ma Q/q/q.ma Q/ratio/rinv.ma
+Q/q/q.ma Q/fraction/numerator_denominator.ma Q/ratio/ratio.ma
+Q/q/qtimes.ma Q/q/qinv.ma Q/ratio/rtimes.ma
+Q/nat_fact/times.ma nat/factorization.ma
technicalities/setoids.ma datatypes/constructors.ma logic/coimplication.ma logic/connectives2.ma
decidable_kit/streicher.ma logic/connectives.ma logic/equality.ma
decidable_kit/decidable.ma datatypes/bool.ma decidable_kit/streicher.ma logic/connectives.ma nat/compare.ma
-decidable_kit/fgraph.ma decidable_kit/fintype.ma
decidable_kit/eqtype.ma datatypes/constructors.ma decidable_kit/decidable.ma
decidable_kit/list_aux.ma decidable_kit/eqtype.ma list/list.ma nat/plus.ma
decidable_kit/fintype.ma decidable_kit/eqtype.ma decidable_kit/list_aux.ma
+decidable_kit/fgraph.ma decidable_kit/fintype.ma
higher_order_defs/relations.ma logic/connectives.ma
higher_order_defs/functions.ma logic/equality.ma
higher_order_defs/ordering.ma logic/equality.ma