Commit bc0b6ca9 authored by Sylvain Dailler's avatar Sylvain Dailler

P419-017 counterex- Missing one liner with multidim array

The one liner is missing because we did not project value of array
elements in intro_projections_counterexmp. I changed the whole algorithm
of projections to allow projecting values of multidim array. Also,
moved local functions outside the main function. Added some trivial
helping functions.

* intro_projections_counterexmp
 (detect_map_types): Takes a type and return the list of successive types
  in the map and the return type. On map int (map int int) returns
  ([int; int], int).
 (last_type): Takes a list of proj_functions and returns the return type
  of the last projections_function that will be applied.
 (recreate_types): Recreates the type of the map with projected return
 (create_index_list): Returns a list of new well typed symbol for
  application in the axiom.
 (recreate_term_applications): Apply array to indices.
 (list_projection_until_base_type): Returns the list of all possible
  list of proj_functions applied to it.
 (projections_for_term): Changed the map part almost completely. We do
  not call this function recursively but we used other functions to get
  the recursive behavior.
parent 10b87b23
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment