diff --git a/_CoqProject b/_CoqProject
index 93bfbaacbc8883a1feb8f3a188ee2b15fa08a5c7..1332a4ef08350e0688ab1216cf1e5401303ce84b 100644
--- a/_CoqProject
+++ b/_CoqProject
@@ -1,131 +1,131 @@
--Q . iris
-prelude/option.v
-prelude/fin_map_dom.v
-prelude/bset.v
-prelude/fin_maps.v
-prelude/vector.v
-prelude/pmap.v
-prelude/stringmap.v
-prelude/fin_collections.v
-prelude/mapset.v
-prelude/proof_irrel.v
-prelude/hashset.v
-prelude/pretty.v
-prelude/countable.v
-prelude/orders.v
-prelude/natmap.v
-prelude/strings.v
-prelude/relations.v
-prelude/collections.v
-prelude/listset.v
-prelude/streams.v
-prelude/gmap.v
-prelude/gmultiset.v
-prelude/base.v
-prelude/tactics.v
-prelude/prelude.v
-prelude/listset_nodup.v
-prelude/finite.v
-prelude/numbers.v
-prelude/nmap.v
-prelude/zmap.v
-prelude/coPset.v
-prelude/lexico.v
-prelude/set.v
-prelude/decidable.v
-prelude/list.v
-prelude/functions.v
-prelude/hlist.v
-prelude/sorting.v
-algebra/cmra.v
-algebra/cmra_big_op.v
-algebra/cmra_tactics.v
-algebra/sts.v
-algebra/auth.v
-algebra/gmap.v
-algebra/ofe.v
-algebra/base.v
-algebra/dra.v
-algebra/cofe_solver.v
-algebra/agree.v
-algebra/excl.v
-algebra/iprod.v
-algebra/frac.v
-algebra/csum.v
-algebra/list.v
-algebra/updates.v
-algebra/local_updates.v
-algebra/gset.v
-algebra/coPset.v
-algebra/deprecated.v
-base_logic/upred.v
-base_logic/primitive.v
-base_logic/derived.v
-base_logic/base_logic.v
-base_logic/tactics.v
-base_logic/big_op.v
-base_logic/hlist.v
-base_logic/soundness.v
-base_logic/double_negation.v
-base_logic/deprecated.v
-base_logic/lib/iprop.v
-base_logic/lib/own.v
-base_logic/lib/saved_prop.v
-base_logic/lib/namespaces.v
-base_logic/lib/wsat.v
-base_logic/lib/invariants.v
-base_logic/lib/fancy_updates.v
-base_logic/lib/viewshifts.v
-base_logic/lib/auth.v
-base_logic/lib/sts.v
-base_logic/lib/boxes.v
-base_logic/lib/na_invariants.v
-base_logic/lib/cancelable_invariants.v
-base_logic/lib/counter_examples.v
-base_logic/lib/fractional.v
-program_logic/adequacy.v
-program_logic/lifting.v
-program_logic/weakestpre.v
-program_logic/hoare.v
-program_logic/language.v
-program_logic/ectx_language.v
-program_logic/ectxi_language.v
-program_logic/ectx_lifting.v
-program_logic/gen_heap.v
-program_logic/ownp.v
-heap_lang/lang.v
-heap_lang/tactics.v
-heap_lang/wp_tactics.v
-heap_lang/op_rules.v
-heap_lang/notation.v
-heap_lang/lib/spawn.v
-heap_lang/lib/par.v
-heap_lang/lib/assert.v
-heap_lang/lib/lock.v
-heap_lang/lib/spin_lock.v
-heap_lang/lib/ticket_lock.v
-heap_lang/lib/counter.v
-heap_lang/lib/barrier/barrier.v
-heap_lang/lib/barrier/specification.v
-heap_lang/lib/barrier/protocol.v
-heap_lang/lib/barrier/proof.v
-heap_lang/proofmode.v
-heap_lang/adequacy.v
-tests/heap_lang.v
-tests/one_shot.v
-tests/joining_existentials.v
-tests/proofmode.v
-tests/barrier_client.v
-tests/list_reverse.v
-tests/tree_sum.v
-tests/counter.v
-proofmode/strings.v
-proofmode/coq_tactics.v
-proofmode/environments.v
-proofmode/intro_patterns.v
-proofmode/spec_patterns.v
-proofmode/sel_patterns.v
-proofmode/tactics.v
-proofmode/notation.v
-proofmode/classes.v
-proofmode/class_instances.v
+-Q theories iris
+theories/prelude/option.v
+theories/prelude/fin_map_dom.v
+theories/prelude/bset.v
+theories/prelude/fin_maps.v
+theories/prelude/vector.v
+theories/prelude/pmap.v
+theories/prelude/stringmap.v
+theories/prelude/fin_collections.v
+theories/prelude/mapset.v
+theories/prelude/proof_irrel.v
+theories/prelude/hashset.v
+theories/prelude/pretty.v
+theories/prelude/countable.v
+theories/prelude/orders.v
+theories/prelude/natmap.v
+theories/prelude/strings.v
+theories/prelude/relations.v
+theories/prelude/collections.v
+theories/prelude/listset.v
+theories/prelude/streams.v
+theories/prelude/gmap.v
+theories/prelude/gmultiset.v
+theories/prelude/base.v
+theories/prelude/tactics.v
+theories/prelude/prelude.v
+theories/prelude/listset_nodup.v
+theories/prelude/finite.v
+theories/prelude/numbers.v
+theories/prelude/nmap.v
+theories/prelude/zmap.v
+theories/prelude/coPset.v
+theories/prelude/lexico.v
+theories/prelude/set.v
+theories/prelude/decidable.v
+theories/prelude/list.v
+theories/prelude/functions.v
+theories/prelude/hlist.v
+theories/prelude/sorting.v
+theories/algebra/cmra.v
+theories/algebra/cmra_big_op.v
+theories/algebra/cmra_tactics.v
+theories/algebra/sts.v
+theories/algebra/auth.v
+theories/algebra/gmap.v
+theories/algebra/ofe.v
+theories/algebra/base.v
+theories/algebra/dra.v
+theories/algebra/cofe_solver.v
+theories/algebra/agree.v
+theories/algebra/excl.v
+theories/algebra/iprod.v
+theories/algebra/frac.v
+theories/algebra/csum.v
+theories/algebra/list.v
+theories/algebra/updates.v
+theories/algebra/local_updates.v
+theories/algebra/gset.v
+theories/algebra/coPset.v
+theories/algebra/deprecated.v
+theories/base_logic/upred.v
+theories/base_logic/primitive.v
+theories/base_logic/derived.v
+theories/base_logic/base_logic.v
+theories/base_logic/tactics.v
+theories/base_logic/big_op.v
+theories/base_logic/hlist.v
+theories/base_logic/soundness.v
+theories/base_logic/double_negation.v
+theories/base_logic/deprecated.v
+theories/base_logic/lib/iprop.v
+theories/base_logic/lib/own.v
+theories/base_logic/lib/saved_prop.v
+theories/base_logic/lib/namespaces.v
+theories/base_logic/lib/wsat.v
+theories/base_logic/lib/invariants.v
+theories/base_logic/lib/fancy_updates.v
+theories/base_logic/lib/viewshifts.v
+theories/base_logic/lib/auth.v
+theories/base_logic/lib/sts.v
+theories/base_logic/lib/boxes.v
+theories/base_logic/lib/na_invariants.v
+theories/base_logic/lib/cancelable_invariants.v
+theories/base_logic/lib/counter_examples.v
+theories/base_logic/lib/fractional.v
+theories/program_logic/adequacy.v
+theories/program_logic/lifting.v
+theories/program_logic/weakestpre.v
+theories/program_logic/hoare.v
+theories/program_logic/language.v
+theories/program_logic/ectx_language.v
+theories/program_logic/ectxi_language.v
+theories/program_logic/ectx_lifting.v
+theories/program_logic/gen_heap.v
+theories/program_logic/ownp.v
+theories/heap_lang/lang.v
+theories/heap_lang/tactics.v
+theories/heap_lang/wp_tactics.v
+theories/heap_lang/op_rules.v
+theories/heap_lang/notation.v
+theories/heap_lang/lib/spawn.v
+theories/heap_lang/lib/par.v
+theories/heap_lang/lib/assert.v
+theories/heap_lang/lib/lock.v
+theories/heap_lang/lib/spin_lock.v
+theories/heap_lang/lib/ticket_lock.v
+theories/heap_lang/lib/counter.v
+theories/heap_lang/lib/barrier/barrier.v
+theories/heap_lang/lib/barrier/specification.v
+theories/heap_lang/lib/barrier/protocol.v
+theories/heap_lang/lib/barrier/proof.v
+theories/heap_lang/proofmode.v
+theories/heap_lang/adequacy.v
+theories/tests/heap_lang.v
+theories/tests/one_shot.v
+theories/tests/joining_existentials.v
+theories/tests/proofmode.v
+theories/tests/barrier_client.v
+theories/tests/list_reverse.v
+theories/tests/tree_sum.v
+theories/tests/counter.v
+theories/proofmode/strings.v
+theories/proofmode/coq_tactics.v
+theories/proofmode/environments.v
+theories/proofmode/intro_patterns.v
+theories/proofmode/spec_patterns.v
+theories/proofmode/sel_patterns.v
+theories/proofmode/tactics.v
+theories/proofmode/notation.v
+theories/proofmode/classes.v
+theories/proofmode/class_instances.v
diff --git a/algebra/agree.v b/theories/algebra/agree.v
similarity index 100%
rename from algebra/agree.v
rename to theories/algebra/agree.v
diff --git a/algebra/auth.v b/theories/algebra/auth.v
similarity index 100%
rename from algebra/auth.v
rename to theories/algebra/auth.v
diff --git a/algebra/base.v b/theories/algebra/base.v
similarity index 100%
rename from algebra/base.v
rename to theories/algebra/base.v
diff --git a/algebra/cmra.v b/theories/algebra/cmra.v
similarity index 100%
rename from algebra/cmra.v
rename to theories/algebra/cmra.v
diff --git a/algebra/cmra_big_op.v b/theories/algebra/cmra_big_op.v
similarity index 100%
rename from algebra/cmra_big_op.v
rename to theories/algebra/cmra_big_op.v
diff --git a/algebra/cmra_tactics.v b/theories/algebra/cmra_tactics.v
similarity index 100%
rename from algebra/cmra_tactics.v
rename to theories/algebra/cmra_tactics.v
diff --git a/algebra/coPset.v b/theories/algebra/coPset.v
similarity index 100%
rename from algebra/coPset.v
rename to theories/algebra/coPset.v
diff --git a/algebra/cofe_solver.v b/theories/algebra/cofe_solver.v
similarity index 100%
rename from algebra/cofe_solver.v
rename to theories/algebra/cofe_solver.v
diff --git a/algebra/csum.v b/theories/algebra/csum.v
similarity index 100%
rename from algebra/csum.v
rename to theories/algebra/csum.v
diff --git a/algebra/deprecated.v b/theories/algebra/deprecated.v
similarity index 100%
rename from algebra/deprecated.v
rename to theories/algebra/deprecated.v
diff --git a/algebra/dra.v b/theories/algebra/dra.v
similarity index 100%
rename from algebra/dra.v
rename to theories/algebra/dra.v
diff --git a/algebra/excl.v b/theories/algebra/excl.v
similarity index 100%
rename from algebra/excl.v
rename to theories/algebra/excl.v
diff --git a/algebra/frac.v b/theories/algebra/frac.v
similarity index 100%
rename from algebra/frac.v
rename to theories/algebra/frac.v
diff --git a/algebra/gmap.v b/theories/algebra/gmap.v
similarity index 100%
rename from algebra/gmap.v
rename to theories/algebra/gmap.v
diff --git a/algebra/gset.v b/theories/algebra/gset.v
similarity index 100%
rename from algebra/gset.v
rename to theories/algebra/gset.v
diff --git a/algebra/iprod.v b/theories/algebra/iprod.v
similarity index 100%
rename from algebra/iprod.v
rename to theories/algebra/iprod.v
diff --git a/algebra/list.v b/theories/algebra/list.v
similarity index 100%
rename from algebra/list.v
rename to theories/algebra/list.v
diff --git a/algebra/local_updates.v b/theories/algebra/local_updates.v
similarity index 100%
rename from algebra/local_updates.v
rename to theories/algebra/local_updates.v
diff --git a/algebra/ofe.v b/theories/algebra/ofe.v
similarity index 100%
rename from algebra/ofe.v
rename to theories/algebra/ofe.v
diff --git a/algebra/sts.v b/theories/algebra/sts.v
similarity index 100%
rename from algebra/sts.v
rename to theories/algebra/sts.v
diff --git a/algebra/updates.v b/theories/algebra/updates.v
similarity index 100%
rename from algebra/updates.v
rename to theories/algebra/updates.v
diff --git a/base_logic/base_logic.v b/theories/base_logic/base_logic.v
similarity index 100%
rename from base_logic/base_logic.v
rename to theories/base_logic/base_logic.v
diff --git a/base_logic/big_op.v b/theories/base_logic/big_op.v
similarity index 100%
rename from base_logic/big_op.v
rename to theories/base_logic/big_op.v
diff --git a/base_logic/deprecated.v b/theories/base_logic/deprecated.v
similarity index 100%
rename from base_logic/deprecated.v
rename to theories/base_logic/deprecated.v
diff --git a/base_logic/derived.v b/theories/base_logic/derived.v
similarity index 100%
rename from base_logic/derived.v
rename to theories/base_logic/derived.v
diff --git a/base_logic/double_negation.v b/theories/base_logic/double_negation.v
similarity index 100%
rename from base_logic/double_negation.v
rename to theories/base_logic/double_negation.v
diff --git a/base_logic/hlist.v b/theories/base_logic/hlist.v
similarity index 100%
rename from base_logic/hlist.v
rename to theories/base_logic/hlist.v
diff --git a/base_logic/lib/auth.v b/theories/base_logic/lib/auth.v
similarity index 100%
rename from base_logic/lib/auth.v
rename to theories/base_logic/lib/auth.v
diff --git a/base_logic/lib/boxes.v b/theories/base_logic/lib/boxes.v
similarity index 100%
rename from base_logic/lib/boxes.v
rename to theories/base_logic/lib/boxes.v
diff --git a/base_logic/lib/cancelable_invariants.v b/theories/base_logic/lib/cancelable_invariants.v
similarity index 100%
rename from base_logic/lib/cancelable_invariants.v
rename to theories/base_logic/lib/cancelable_invariants.v
diff --git a/base_logic/lib/counter_examples.v b/theories/base_logic/lib/counter_examples.v
similarity index 100%
rename from base_logic/lib/counter_examples.v
rename to theories/base_logic/lib/counter_examples.v
diff --git a/base_logic/lib/fancy_updates.v b/theories/base_logic/lib/fancy_updates.v
similarity index 100%
rename from base_logic/lib/fancy_updates.v
rename to theories/base_logic/lib/fancy_updates.v
diff --git a/base_logic/lib/fractional.v b/theories/base_logic/lib/fractional.v
similarity index 100%
rename from base_logic/lib/fractional.v
rename to theories/base_logic/lib/fractional.v
diff --git a/base_logic/lib/invariants.v b/theories/base_logic/lib/invariants.v
similarity index 100%
rename from base_logic/lib/invariants.v
rename to theories/base_logic/lib/invariants.v
diff --git a/base_logic/lib/iprop.v b/theories/base_logic/lib/iprop.v
similarity index 100%
rename from base_logic/lib/iprop.v
rename to theories/base_logic/lib/iprop.v
diff --git a/base_logic/lib/na_invariants.v b/theories/base_logic/lib/na_invariants.v
similarity index 100%
rename from base_logic/lib/na_invariants.v
rename to theories/base_logic/lib/na_invariants.v
diff --git a/base_logic/lib/namespaces.v b/theories/base_logic/lib/namespaces.v
similarity index 100%
rename from base_logic/lib/namespaces.v
rename to theories/base_logic/lib/namespaces.v
diff --git a/base_logic/lib/own.v b/theories/base_logic/lib/own.v
similarity index 100%
rename from base_logic/lib/own.v
rename to theories/base_logic/lib/own.v
diff --git a/base_logic/lib/saved_prop.v b/theories/base_logic/lib/saved_prop.v
similarity index 100%
rename from base_logic/lib/saved_prop.v
rename to theories/base_logic/lib/saved_prop.v
diff --git a/base_logic/lib/sts.v b/theories/base_logic/lib/sts.v
similarity index 100%
rename from base_logic/lib/sts.v
rename to theories/base_logic/lib/sts.v
diff --git a/base_logic/lib/viewshifts.v b/theories/base_logic/lib/viewshifts.v
similarity index 100%
rename from base_logic/lib/viewshifts.v
rename to theories/base_logic/lib/viewshifts.v
diff --git a/base_logic/lib/wsat.v b/theories/base_logic/lib/wsat.v
similarity index 100%
rename from base_logic/lib/wsat.v
rename to theories/base_logic/lib/wsat.v
diff --git a/base_logic/primitive.v b/theories/base_logic/primitive.v
similarity index 100%
rename from base_logic/primitive.v
rename to theories/base_logic/primitive.v
diff --git a/base_logic/soundness.v b/theories/base_logic/soundness.v
similarity index 100%
rename from base_logic/soundness.v
rename to theories/base_logic/soundness.v
diff --git a/base_logic/tactics.v b/theories/base_logic/tactics.v
similarity index 100%
rename from base_logic/tactics.v
rename to theories/base_logic/tactics.v
diff --git a/base_logic/upred.v b/theories/base_logic/upred.v
similarity index 100%
rename from base_logic/upred.v
rename to theories/base_logic/upred.v
diff --git a/heap_lang/adequacy.v b/theories/heap_lang/adequacy.v
similarity index 100%
rename from heap_lang/adequacy.v
rename to theories/heap_lang/adequacy.v
diff --git a/heap_lang/lang.v b/theories/heap_lang/lang.v
similarity index 100%
rename from heap_lang/lang.v
rename to theories/heap_lang/lang.v
diff --git a/heap_lang/lib/assert.v b/theories/heap_lang/lib/assert.v
similarity index 100%
rename from heap_lang/lib/assert.v
rename to theories/heap_lang/lib/assert.v
diff --git a/heap_lang/lib/barrier/barrier.v b/theories/heap_lang/lib/barrier/barrier.v
similarity index 100%
rename from heap_lang/lib/barrier/barrier.v
rename to theories/heap_lang/lib/barrier/barrier.v
diff --git a/heap_lang/lib/barrier/proof.v b/theories/heap_lang/lib/barrier/proof.v
similarity index 100%
rename from heap_lang/lib/barrier/proof.v
rename to theories/heap_lang/lib/barrier/proof.v
diff --git a/heap_lang/lib/barrier/protocol.v b/theories/heap_lang/lib/barrier/protocol.v
similarity index 100%
rename from heap_lang/lib/barrier/protocol.v
rename to theories/heap_lang/lib/barrier/protocol.v
diff --git a/heap_lang/lib/barrier/specification.v b/theories/heap_lang/lib/barrier/specification.v
similarity index 100%
rename from heap_lang/lib/barrier/specification.v
rename to theories/heap_lang/lib/barrier/specification.v
diff --git a/heap_lang/lib/counter.v b/theories/heap_lang/lib/counter.v
similarity index 100%
rename from heap_lang/lib/counter.v
rename to theories/heap_lang/lib/counter.v
diff --git a/heap_lang/lib/lock.v b/theories/heap_lang/lib/lock.v
similarity index 100%
rename from heap_lang/lib/lock.v
rename to theories/heap_lang/lib/lock.v
diff --git a/heap_lang/lib/par.v b/theories/heap_lang/lib/par.v
similarity index 100%
rename from heap_lang/lib/par.v
rename to theories/heap_lang/lib/par.v
diff --git a/heap_lang/lib/spawn.v b/theories/heap_lang/lib/spawn.v
similarity index 100%
rename from heap_lang/lib/spawn.v
rename to theories/heap_lang/lib/spawn.v
diff --git a/heap_lang/lib/spin_lock.v b/theories/heap_lang/lib/spin_lock.v
similarity index 100%
rename from heap_lang/lib/spin_lock.v
rename to theories/heap_lang/lib/spin_lock.v
diff --git a/heap_lang/lib/ticket_lock.v b/theories/heap_lang/lib/ticket_lock.v
similarity index 100%
rename from heap_lang/lib/ticket_lock.v
rename to theories/heap_lang/lib/ticket_lock.v
diff --git a/heap_lang/notation.v b/theories/heap_lang/notation.v
similarity index 100%
rename from heap_lang/notation.v
rename to theories/heap_lang/notation.v
diff --git a/heap_lang/op_rules.v b/theories/heap_lang/op_rules.v
similarity index 100%
rename from heap_lang/op_rules.v
rename to theories/heap_lang/op_rules.v
diff --git a/heap_lang/proofmode.v b/theories/heap_lang/proofmode.v
similarity index 100%
rename from heap_lang/proofmode.v
rename to theories/heap_lang/proofmode.v
diff --git a/heap_lang/tactics.v b/theories/heap_lang/tactics.v
similarity index 100%
rename from heap_lang/tactics.v
rename to theories/heap_lang/tactics.v
diff --git a/heap_lang/wp_tactics.v b/theories/heap_lang/wp_tactics.v
similarity index 100%
rename from heap_lang/wp_tactics.v
rename to theories/heap_lang/wp_tactics.v
diff --git a/prelude/base.v b/theories/prelude/base.v
similarity index 100%
rename from prelude/base.v
rename to theories/prelude/base.v
diff --git a/prelude/bset.v b/theories/prelude/bset.v
similarity index 100%
rename from prelude/bset.v
rename to theories/prelude/bset.v
diff --git a/prelude/coPset.v b/theories/prelude/coPset.v
similarity index 100%
rename from prelude/coPset.v
rename to theories/prelude/coPset.v
diff --git a/prelude/collections.v b/theories/prelude/collections.v
similarity index 100%
rename from prelude/collections.v
rename to theories/prelude/collections.v
diff --git a/prelude/countable.v b/theories/prelude/countable.v
similarity index 100%
rename from prelude/countable.v
rename to theories/prelude/countable.v
diff --git a/prelude/decidable.v b/theories/prelude/decidable.v
similarity index 100%
rename from prelude/decidable.v
rename to theories/prelude/decidable.v
diff --git a/prelude/fin_collections.v b/theories/prelude/fin_collections.v
similarity index 100%
rename from prelude/fin_collections.v
rename to theories/prelude/fin_collections.v
diff --git a/prelude/fin_map_dom.v b/theories/prelude/fin_map_dom.v
similarity index 100%
rename from prelude/fin_map_dom.v
rename to theories/prelude/fin_map_dom.v
diff --git a/prelude/fin_maps.v b/theories/prelude/fin_maps.v
similarity index 100%
rename from prelude/fin_maps.v
rename to theories/prelude/fin_maps.v
diff --git a/prelude/finite.v b/theories/prelude/finite.v
similarity index 100%
rename from prelude/finite.v
rename to theories/prelude/finite.v
diff --git a/prelude/functions.v b/theories/prelude/functions.v
similarity index 100%
rename from prelude/functions.v
rename to theories/prelude/functions.v
diff --git a/prelude/gmap.v b/theories/prelude/gmap.v
similarity index 100%
rename from prelude/gmap.v
rename to theories/prelude/gmap.v
diff --git a/prelude/gmultiset.v b/theories/prelude/gmultiset.v
similarity index 100%
rename from prelude/gmultiset.v
rename to theories/prelude/gmultiset.v
diff --git a/prelude/hashset.v b/theories/prelude/hashset.v
similarity index 100%
rename from prelude/hashset.v
rename to theories/prelude/hashset.v
diff --git a/prelude/hlist.v b/theories/prelude/hlist.v
similarity index 100%
rename from prelude/hlist.v
rename to theories/prelude/hlist.v
diff --git a/prelude/lexico.v b/theories/prelude/lexico.v
similarity index 100%
rename from prelude/lexico.v
rename to theories/prelude/lexico.v
diff --git a/prelude/list.v b/theories/prelude/list.v
similarity index 100%
rename from prelude/list.v
rename to theories/prelude/list.v
diff --git a/prelude/listset.v b/theories/prelude/listset.v
similarity index 100%
rename from prelude/listset.v
rename to theories/prelude/listset.v
diff --git a/prelude/listset_nodup.v b/theories/prelude/listset_nodup.v
similarity index 100%
rename from prelude/listset_nodup.v
rename to theories/prelude/listset_nodup.v
diff --git a/prelude/mapset.v b/theories/prelude/mapset.v
similarity index 100%
rename from prelude/mapset.v
rename to theories/prelude/mapset.v
diff --git a/prelude/natmap.v b/theories/prelude/natmap.v
similarity index 100%
rename from prelude/natmap.v
rename to theories/prelude/natmap.v
diff --git a/prelude/nmap.v b/theories/prelude/nmap.v
similarity index 100%
rename from prelude/nmap.v
rename to theories/prelude/nmap.v
diff --git a/prelude/numbers.v b/theories/prelude/numbers.v
similarity index 100%
rename from prelude/numbers.v
rename to theories/prelude/numbers.v
diff --git a/prelude/option.v b/theories/prelude/option.v
similarity index 100%
rename from prelude/option.v
rename to theories/prelude/option.v
diff --git a/prelude/orders.v b/theories/prelude/orders.v
similarity index 100%
rename from prelude/orders.v
rename to theories/prelude/orders.v
diff --git a/prelude/pmap.v b/theories/prelude/pmap.v
similarity index 100%
rename from prelude/pmap.v
rename to theories/prelude/pmap.v
diff --git a/prelude/prelude.v b/theories/prelude/prelude.v
similarity index 100%
rename from prelude/prelude.v
rename to theories/prelude/prelude.v
diff --git a/prelude/pretty.v b/theories/prelude/pretty.v
similarity index 100%
rename from prelude/pretty.v
rename to theories/prelude/pretty.v
diff --git a/prelude/proof_irrel.v b/theories/prelude/proof_irrel.v
similarity index 100%
rename from prelude/proof_irrel.v
rename to theories/prelude/proof_irrel.v
diff --git a/prelude/relations.v b/theories/prelude/relations.v
similarity index 100%
rename from prelude/relations.v
rename to theories/prelude/relations.v
diff --git a/prelude/set.v b/theories/prelude/set.v
similarity index 100%
rename from prelude/set.v
rename to theories/prelude/set.v
diff --git a/prelude/sorting.v b/theories/prelude/sorting.v
similarity index 100%
rename from prelude/sorting.v
rename to theories/prelude/sorting.v
diff --git a/prelude/streams.v b/theories/prelude/streams.v
similarity index 100%
rename from prelude/streams.v
rename to theories/prelude/streams.v
diff --git a/prelude/stringmap.v b/theories/prelude/stringmap.v
similarity index 100%
rename from prelude/stringmap.v
rename to theories/prelude/stringmap.v
diff --git a/prelude/strings.v b/theories/prelude/strings.v
similarity index 100%
rename from prelude/strings.v
rename to theories/prelude/strings.v
diff --git a/prelude/tactics.v b/theories/prelude/tactics.v
similarity index 100%
rename from prelude/tactics.v
rename to theories/prelude/tactics.v
diff --git a/prelude/vector.v b/theories/prelude/vector.v
similarity index 100%
rename from prelude/vector.v
rename to theories/prelude/vector.v
diff --git a/prelude/zmap.v b/theories/prelude/zmap.v
similarity index 100%
rename from prelude/zmap.v
rename to theories/prelude/zmap.v
diff --git a/program_logic/adequacy.v b/theories/program_logic/adequacy.v
similarity index 100%
rename from program_logic/adequacy.v
rename to theories/program_logic/adequacy.v
diff --git a/program_logic/ectx_language.v b/theories/program_logic/ectx_language.v
similarity index 100%
rename from program_logic/ectx_language.v
rename to theories/program_logic/ectx_language.v
diff --git a/program_logic/ectx_lifting.v b/theories/program_logic/ectx_lifting.v
similarity index 100%
rename from program_logic/ectx_lifting.v
rename to theories/program_logic/ectx_lifting.v
diff --git a/program_logic/ectxi_language.v b/theories/program_logic/ectxi_language.v
similarity index 100%
rename from program_logic/ectxi_language.v
rename to theories/program_logic/ectxi_language.v
diff --git a/program_logic/gen_heap.v b/theories/program_logic/gen_heap.v
similarity index 100%
rename from program_logic/gen_heap.v
rename to theories/program_logic/gen_heap.v
diff --git a/program_logic/hoare.v b/theories/program_logic/hoare.v
similarity index 100%
rename from program_logic/hoare.v
rename to theories/program_logic/hoare.v
diff --git a/program_logic/language.v b/theories/program_logic/language.v
similarity index 100%
rename from program_logic/language.v
rename to theories/program_logic/language.v
diff --git a/program_logic/lifting.v b/theories/program_logic/lifting.v
similarity index 100%
rename from program_logic/lifting.v
rename to theories/program_logic/lifting.v
diff --git a/program_logic/ownp.v b/theories/program_logic/ownp.v
similarity index 100%
rename from program_logic/ownp.v
rename to theories/program_logic/ownp.v
diff --git a/program_logic/weakestpre.v b/theories/program_logic/weakestpre.v
similarity index 100%
rename from program_logic/weakestpre.v
rename to theories/program_logic/weakestpre.v
diff --git a/proofmode/class_instances.v b/theories/proofmode/class_instances.v
similarity index 100%
rename from proofmode/class_instances.v
rename to theories/proofmode/class_instances.v
diff --git a/proofmode/classes.v b/theories/proofmode/classes.v
similarity index 100%
rename from proofmode/classes.v
rename to theories/proofmode/classes.v
diff --git a/proofmode/coq_tactics.v b/theories/proofmode/coq_tactics.v
similarity index 100%
rename from proofmode/coq_tactics.v
rename to theories/proofmode/coq_tactics.v
diff --git a/proofmode/environments.v b/theories/proofmode/environments.v
similarity index 100%
rename from proofmode/environments.v
rename to theories/proofmode/environments.v
diff --git a/proofmode/intro_patterns.v b/theories/proofmode/intro_patterns.v
similarity index 100%
rename from proofmode/intro_patterns.v
rename to theories/proofmode/intro_patterns.v
diff --git a/proofmode/notation.v b/theories/proofmode/notation.v
similarity index 100%
rename from proofmode/notation.v
rename to theories/proofmode/notation.v
diff --git a/proofmode/sel_patterns.v b/theories/proofmode/sel_patterns.v
similarity index 100%
rename from proofmode/sel_patterns.v
rename to theories/proofmode/sel_patterns.v
diff --git a/proofmode/spec_patterns.v b/theories/proofmode/spec_patterns.v
similarity index 100%
rename from proofmode/spec_patterns.v
rename to theories/proofmode/spec_patterns.v
diff --git a/proofmode/strings.v b/theories/proofmode/strings.v
similarity index 100%
rename from proofmode/strings.v
rename to theories/proofmode/strings.v
diff --git a/proofmode/tactics.v b/theories/proofmode/tactics.v
similarity index 100%
rename from proofmode/tactics.v
rename to theories/proofmode/tactics.v
diff --git a/tests/barrier_client.v b/theories/tests/barrier_client.v
similarity index 100%
rename from tests/barrier_client.v
rename to theories/tests/barrier_client.v
diff --git a/tests/counter.v b/theories/tests/counter.v
similarity index 100%
rename from tests/counter.v
rename to theories/tests/counter.v
diff --git a/tests/heap_lang.v b/theories/tests/heap_lang.v
similarity index 100%
rename from tests/heap_lang.v
rename to theories/tests/heap_lang.v
diff --git a/tests/joining_existentials.v b/theories/tests/joining_existentials.v
similarity index 100%
rename from tests/joining_existentials.v
rename to theories/tests/joining_existentials.v
diff --git a/tests/list_reverse.v b/theories/tests/list_reverse.v
similarity index 100%
rename from tests/list_reverse.v
rename to theories/tests/list_reverse.v
diff --git a/tests/one_shot.v b/theories/tests/one_shot.v
similarity index 100%
rename from tests/one_shot.v
rename to theories/tests/one_shot.v
diff --git a/tests/proofmode.v b/theories/tests/proofmode.v
similarity index 100%
rename from tests/proofmode.v
rename to theories/tests/proofmode.v
diff --git a/tests/tree_sum.v b/theories/tests/tree_sum.v
similarity index 100%
rename from tests/tree_sum.v
rename to theories/tests/tree_sum.v