1. 25 Mar, 2010 2 commits
  2. 24 Mar, 2010 7 commits
  3. 23 Mar, 2010 4 commits
  4. 22 Mar, 2010 4 commits
  5. 19 Mar, 2010 1 commit
    • Francois Bobot's avatar
      · 23ca2d16
      Francois Bobot authored
         - Util : Ajout de Creation generique de Set,Map et Hashtbl 
                  quand on a un tag et une egalitée physique
         - Hashweak : Implementation de l'idee de Jean-Christophe et Andreï
         - Register : Simplification des types comme demandé par Jean-Christophe
                      Mise à jour des fichiers qui en dépendait
         - Theory   : Ajout d'une facilité de création des th_inst
         - Encoding_decorate : Prelude pour l'encodage de Stéphane en utilisant flat_theory d'Andreï
         - Ty : Ajout de Sty, Mty et Hty
         - Main : Reduction de la taille des lignes à 80 colonnes
  6. 18 Mar, 2010 4 commits
  7. 17 Mar, 2010 6 commits
  8. 16 Mar, 2010 7 commits
    • Andrei Paskevich's avatar
      "I want to believe" commit. · f0218f41
      Andrei Paskevich authored
      Not only Theory, but also Task and Transformation 
      do not need to depend on environment. Moreover,
      we don't have to track the clone history in tasks.
      The only thing we need to do, is to provide three
      registration functions in Driver, namely:
        val register_transform : string -> (unit -> task_t) -> unit
        val register_transform_env : string -> (env -> task_t) -> unit
        val register_transform_clone : string -> (env -> clone -> task_t) -> unit
      and then another three for task_list_t.
      Then any particular transformation that is going to depend
      on environment or clone_history, must register itself via
      the appropriate registration function. It will be the
      responsibility of Driver to recreate the transformation
      for every new environment and/or clone history. It will
      be easy, given that both [env] and [clone] are physically
      comparable and provide a unique tag.
      Thus, the generic interface provided by Transform can be
      completely independent on [env] and [clone].
      This commit implements the proposed interface of Task
      and moves the environment stuff into a separate module.
    • Andrei Paskevich's avatar
    • Andrei Paskevich's avatar
    • Francois Bobot's avatar
    • Andrei Paskevich's avatar
      Start the separation of contexts and tasks. · a8f76c2f
      Andrei Paskevich authored
      The proposed architecture is as follows:
      - Decl provides the type of declaration, decl, which is a sum
        of type_decl, logic_decl, ind_decl, and prop_decl. decl is 
        h-consed and does not depent on theory, context or anything else.
      - Theory provides the types of theories and theories under construction.
        A theory is a list of (decl | use | clone) with namespace, and the set
        of known idents. Theories are not h-consed and they do not depend on
        env or task.
      - Task provides the types of environment (env), clone maps (clone), and
        the task itself. It might be interesting to merge Transform with Task.
        An environment stays as it is today. A clone map is a private record 
        with the unique tag and physical equality. A task is essentially what
        context is today:
          task_decl  : decl               (* top declaration *)
          task_prev  : task option        (* the previous context *)
          task_known : (ident, decl) map  (* the set of known symbols *)
          task_clone : clone              (* the clone map *)
          task_env   : env                (* the environment *)
          task_tag   : int                (* the unique tag *)
        Tasks are h-consed. There is a guarantee that task_env and task_clone
        of task and task.task_prev are physically equal.
        Unless there is a good reason to do otherwise, the only way to produce
        a task is by split_goal, which takes a theory (and optionally a number
        of goals in it) and creates a list of tasks. Note that sharing IS LOST
        whenever two goals are separated by a clone instruction. However, the
        declarations will still be shared.
      - Trasformation works on tasks, producing task lists, tasks, and alphas.
      - use_export and clone_export may be allowed on tasks, rebuilding the
        whole task, whenever necessary.
      This commit just adds the Decl module, but does not make anything use it.
    • Francois Bobot's avatar
      driver utilise maintenant en interne des context list Transform.t · c9f1ab6b
      Francois Bobot authored
      dans les drivers il n'y a qu'une seul liste de transformations
    • Francois Bobot's avatar
  9. 14 Mar, 2010 1 commit
    • Francois Bobot's avatar
      · c70a9c38
      Francois Bobot authored
       - Ajout de split_conjunction
       - Ajout du choix d'appliquer les transformations avant ou après la séparation
         en un but par contexte (certainement à modifier)
       - Ajout de quelques transformations et plugins
       - ajout des options list-printers et list-transforms
  10. 12 Mar, 2010 4 commits