1. 27 Sep, 2010 1 commit
  2. 25 Aug, 2010 1 commit
  3. 18 Aug, 2010 1 commit
  4. 17 Aug, 2010 1 commit
  5. 21 Jul, 2010 1 commit
  6. 17 Jul, 2010 1 commit
  7. 15 Jul, 2010 3 commits
  8. 07 Jul, 2010 2 commits
    • Andrei Paskevich's avatar
      Reworking tags and transformations, stage 2: · 157f4a5c
      Andrei Paskevich authored
      - dependent transformations (ones that depend on cloning history
        and/or metaproperties) have now the same type Trans.trans and
        can be registered via Trans, too.
      - load_driver accumulates appropriate tdecls to be appended to
        tasks before transformation/printing.
      
      At this moment, we have almost everything in place and are ready
      to remove Register module (subsumed by Trans and Printer in core/)
      and Prover module (its functions will move to Driver), and convert
      all printers and transformations to use the new infrastructure. 
      
      Not implemented yet:
      - appending driver-imposed tdecls to tasks - when and where?
      - metas-options - what is the best way to implement them?
      - syntax/typing for metas in theories and drivers.
      157f4a5c
    • Francois Bobot's avatar
      print-namespace : print the kind of the lemmas · 2185d5bd
      Francois Bobot authored
      completion : complete theories and goals
      2185d5bd
  9. 04 Jul, 2010 1 commit
    • Andrei Paskevich's avatar
      reworking tags and transformations, stage 1: · 18a0e0b0
      Andrei Paskevich authored
      - introduce a new Theory.tdecl "Meta" to be used for tags
      - simplify cloning procedure, get rid of the th_clone field
      - when a goal proposition is discarded during cloning, 
        it's still keeped in the theory as a "skip proposition",
        this is needed to preserve/clone every local identifier.
        Skip propositions are eliminated during task formation.
      - get rid of a separate Task.tdecl type
      - reorganize the Task.task_hd record:
        * use/clone history is cached in a theory-keyed map;
        * meta-properties are cached in a tagname-keyed map.
        This is done to simplify the fine-grained configuration
        of transformations.
      18a0e0b0
  10. 02 Jul, 2010 1 commit
  11. 25 Jun, 2010 1 commit
  12. 17 Jun, 2010 2 commits
  13. 28 May, 2010 1 commit
  14. 28 Apr, 2010 1 commit
  15. 19 Apr, 2010 1 commit
  16. 28 Mar, 2010 1 commit
  17. 27 Mar, 2010 1 commit
  18. 26 Mar, 2010 1 commit
  19. 23 Mar, 2010 2 commits
  20. 22 Mar, 2010 2 commits
  21. 21 Mar, 2010 2 commits
  22. 19 Mar, 2010 3 commits
  23. 18 Mar, 2010 2 commits
  24. 17 Mar, 2010 1 commit
  25. 16 Mar, 2010 1 commit
    • 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.
      a8f76c2f