This is a documentation file to help understand the innerworking of the library. It is not compiled. 
It is an outline of the functions that get called during the solving of a SAT instance when the user of the library uses one of the three presentations of the ben-jose API top solve instances:
This file is not compiled it is just to help in the understanding of the inner-works of the library, and to help the interested programmer to get familiar with the backbone functions of the library.
#define THIS_CODE_IS_NOT_COMPILED
void
    
    
    
    
    
    load_instance(); 
}
void 
    }
}
void
    if(found_conflict()){
    } else{
        choose_quanton();
        start_propagation();
    }
}
void
    reason& rsn = dct.dt_rsn;
    
    dct.reset_deduction();
    
    reverse_with(rsn);
}
void
    
    dct.reset_deduction();
    
    
    
    row_neuromap_t& to_wrt = dct.dt_all_to_wrt;
    
}
void
    for(int aa = 0; aa < to_wrt.size(); aa++){
    }
}
void
    for(long aa = br_candidate_nmp_lvs.last_idx(); aa >= 0; aa--){
        out_nmp = br_candidate_nmp_lvs[aa];
            break;
        }
        dct.reset_deduction();
    }
}
bool
    return map_oper(mo_find);
}
bool
    return map_oper(mo_save);
}
bool
    
    bool prep_ok = map_prepare_mem_oper(mm);
    if(! prep_ok){
        return false;
    }
    
    canon_cnf& tmp_tauto_cnf = brn.br_tmp_wrt_tauto_cnf; 
     canon_cnf& tmp_diff_cnf = brn.br_tmp_wrt_diff_cnf; 
     canon_cnf& tmp_guide_cnf = brn.br_tmp_wrt_guide_cnf; 
     
    if(mm == mo_find){
        row_neuron_t& all_found = na_found_col.co_neus;
        
        
        tmp_diff_cnf.first_vnt_i_super_of(skg, all_found, &iinfo); 
    } else {
        ch_string& tau_pth = na_tauto_pth;
        
        tmp_tauto_cnf.save_cnf(skg, tau_pth);
        tmp_diff_cnf.save_cnf(skg, tau_pth);
        tmp_guide_cnf.save_cnf(skg, tau_pth);
    }
}
bool
    
    brn.all_mutual_init(); 
    
    
    sort_glb& guide_ne_srg = brn.br_guide_neus_srg;
     sort_glb& guide_qu_srg = brn.br_guide_quas_srg;
     
    if(! has_stab_guide()){
        map_set_stab_guide();
    } else {
        guide_col.load_colors_into(guide_ne_srg, guide_qu_srg, dbg_call_1, this);
    }
    
    
    final_guide_col.save_colors_from(guide_ne_srg, guide_qu_srg, tid_tee_consec, false);
    coloring& ini_tau_col = brn.br_tmp_ini_tauto_col;
     map_get_initial_tauto_coloring(final_guide_col, ini_tau_col, mm);
    
    
    brn.all_mutual_init();
    sort_glb& tauto_ne_srg = brn.br_tauto_neus_srg;
     sort_glb& tauto_qu_srg = brn.br_tauto_quas_srg;
     
    
    ini_tau_col.load_colors_into(tauto_ne_srg, tauto_qu_srg, dbg_call_3, this, true);
    
    
    map_prepare_wrt_cnfs(mm, quick_find_ref); 
}
void
    bool all_consec = false;
    while(! all_consec){
        stab_mutual_core(srg2);
        all_consec = srg2.sg_step_all_consec;
        if(! all_consec){
            srg2.stab_mutual_choose_one(srg1);
        }
    }
    stab_mutual_end(srg2, true);
}
void
    stab_mutual_core(srg2);
    stab_mutual_end(srg2, one_ccl_per_ss);
}
void
    bool has_diff = true;
    while(has_diff){
        bool diff1 = srg1.sg_step_has_diff;
        bool diff2 = srg2.sg_step_has_diff;
        has_diff = (diff1 || diff2);
    }
}
void
    step_mutual_stabilize(mates_srg, sm_with_neus);
}
void
    step_mutual_stabilize(mates_srg, sm_with_opps);
}
void
    step_mutual_stabilize(mates_srg, sm_with_quas);
}
void
sort_glb::step_mutual_stabilize(
sort_glb& srg2, step_mutual_op_t op){
    
    
    
    
    row<sorset*>& sets = sg_step_prv_sorsets;
    sets.clear();
    sg_step_sorsets.move_to(sets);
    sg_step_sorsets.set_cap(sets.size());
    
    for(long aa = 0; aa < sets.size(); aa++){
        sets[aa] = NULL_PT;
    }
    sets.clear();
    
}
void
    while(has_subsets()){
    }
}
void
    while(has_subsets()){
    }
    
    binder* fst = ss_items.bn_right;
    binder* lst = &(ss_items);
    binder* rgt = NULL_PT;
    for(rgt = fst; rgt != lst; rgt = rgt->bn_right){
        if(oper == sm_with_neus){
            row<sortee*>& all_mates = srt.so_related->so_mates;
            srg2.
sort_all_from(all_mates, curr_stab_consec, 
false, 0, 
true, tc_none,
                                &srg1, &srt); 
        }
        if(oper == sm_with_opps){
            sorset& vssl = opp.get_vessel();
     
            if(&vssl != this){
            }
        }
        if(oper == sm_with_quas){
            long qua_id = srt.get_qua_id(srg1);
            
            row<sortee*>& all_mates = srt.so_related->so_mates;
            srg2.
sort_all_from(all_mates, curr_stab_consec, 
true, qua_id, 
false, tc_mates,
                                &srg1, &srt); 
        }
    }
}