Subject: Refiner

Keywords: ::Refiner
          ::CODE
          ::proof
          ::API

Title: Command Line Proof manipulation

--------------------------------------------------

Library: 

<prf_addr> term 
  must have an object_id parameter 
  first subterm must be !nat_cons list of !nat{n}

prf_tree_size_at_address term -> int
  term arg must be <prf_addr>

make_sub_prf term -> object_id
  term arg must be <prf_addr>
  resulting object has kind `PRF`

make_partial_sub_prf int -> term -> object_id
  term arg must be <prf_addr>
  resulting object has kind `PRF`
  inf_tree of PRF is cut at depth supplied in first arg. 

make_temp_prf term -> object_id
  term arg must be <prf_addr>
  resulting PRF has single unrefined node.

prf_frontier_addresses object_id{prf} -> term list
  object_id arg must specify PRF 
  terms of result are <prf_addr>s
  view_show (ilist (prf_frontier_addresses <obid>)) 

frontier_size_at_depth term -> int list
  term arg must be <prf_addr>
  returns list of what the size of frontier (unrefined steps) at each depth would be.

prf_address_append term -> term -> term
  first term arg must be <prf_addr>
  second subterm must be !nat_cons list of !nat{n}
  result is <prf_addr>

replace_inf_tree term -> object_id -> unit
  term arg is proof address to be replaced
  obid arg is source of proof_tree replacement
      generally expect this is proof created by make_sub_prf. 

refine_proof_tree_copy bool -> term -> term -> term
  if bool arg is true then if step is refined
    if false then if copy exactly matches then the subtree is not refined.
  first term arg is source to copy from
  second term arg is destination to copy to. 

apply_proof_filter_cli term -> object_id -> unit
  term arg is term to match.
  object_id is STM or PRF object to search for matchs
  pops up list of matching proof addresses.

refine_tree_at_addr term -> term -> unit
  first term arg is proof address to be refined
  second arg is proof address to pull tactic tree from
  then does refinement via refine_queue similar to m-(return) in prf editor.

refine_tree_same_addr term -> object_id -> unit
  first term arg is proof address to be refined
  second arg is STM/PRF to pull tactic tree from using same address as first arg.
  then does refinement via refine_queue similar to m-(return) in prf editor.
   

Editor:

show_goal_at_prf_addr term -> unit
  first term arg must be <prf_addr>

--------------------------------------------------

Authors: NUPRL:t

Contributors: RICH:t



Home