# PREPROCESSING

# blocked_clause_elimination (preferring to skip for HO)
# > bce ~cat off:5,on:1

# equality_proxy (no ep for Ahmed)
#> ep ~cat off:70,RST:2,R:3,RSTC:2,RS:3
# mono_ep
# ep!=off > mep ~cat on:10,off:1

# equality_resolution_with_deletion
> erd ~cat on:20,off:1

# function_definition_elimination
> fde ~cat all:20,none:2,unused:1

# general_splitting (no gsp for Ahmed)
# > gsp ~cat off:8,on:1

# inline_let -- this is probably irrelevant on TPTP anyway
> ile ~cat off:30,on:1

# naming
> $nm ~cat Z:1,NZ:5
$nm=Z > nm ~cat 0:1
$nm=NZ > nm ~sgd 0.07,2

# inequality_splitting
> ins ~cat 0:40,1:8,2:12,3:17,4:5,5:2

# random_polarities
> rp ~cat off:10,on:1

# twee_goal_transformation (not currently with HO)
> tgt ~cat off:20,ground:5,full:1

# set_of_support
> sos ~cat off:100,on:36,all:15

# sine_selection
> ss ~cat off:204,axioms:77,included:5

# sine_depth
ss!=off > sd ~cat 0:45,1:13,2:12,3:5,4:4,5:4,7:3,10:2,12:1,15:1

# sine_generality_threshold
ss!=off > sgt ~cat 0:7,5:1,10:1,15:1,20:1,30:1,50:1,100:1

# sine_tolerance
ss!=off > st ~cat -1.0:50,1.0:150,1.5:37,2.0:60,2.5:20,3.0:70,3.5:15,4.0:60,4.5:15,5.0:50,5.5:10,6.0:30,7.0:20

# unused_predicate_definition_removal
> updr ~cat on:25,off:1

# SATURATION

# saturation algorithm
> sa     ~cat lrs:144,otter:25,discount:117

# literal selection #(kicked out looakead selections: 11:131,-11:131,1011:357,-1011:357, not compatible with HO)
> $s_pos ~cat Y:4,N:1
$s_pos=Y > s ~cat 0:11,1:31,2:52,3:21,4:22,10:300,20:11,21:66,22:11,30:6,31:14,32:4,33:10,34:3,35:8,666:50,1002:141,1003:14,1004:23,1010:145,1666:50
$s_pos=N > s ~cat -1:31,-2:52,-3:21,-4:22,-10:300,-20:11,-21:66,-22:11,-30:6,-31:14,-32:4,-33:10,-34:3,-35:8,-666:50,-1002:141,-1003:14,-1004:23,-1010:145,-1666:50

# lookahaed_delay
> $ls ~cat off:1
s=11 > $ls ~cat on:1
s=-11 > $ls ~cat on:1
s=1011 > $ls ~cat on:1
s=-1011 > $ls ~cat on:1

$ls=on > lsd ~cat 0:20,1:1,5:1,10:1,20:1,50:1,100:1

# age/weight ratio
> awr ~u2r -10;4;:

# random_awr
> rawr ~cat off:8,on:1

# lrs_weight_limit_only
sa=lrs > lwlo ~cat off:15,on:1

# lrs_estimate_correction_coef
sa=lrs > lecc ~cat 1:10,666:1
lecc!=1 > lecc ~uf 0.5,2.0

# age_weight_ratio_shape
> awrs ~cat constant:20,converge:2,decay:1

# age_weight_ratio_shape_frequency
awrs!=constant > awrsf ~ui 1,500

# nongoal_weight_coefficient
> nwc ~cat 1:2,2:1
nwc!=1 > nwc ~ui 2,15

# restrict_nwc_to_goal_constants
nwc!=1 > rnwc ~cat off:10,on:1

# literal_maximality_aftercheck
> lma ~cat off:500,on:83

# POSITIVE LITERAL SPLIT QUEUE
> plsq ~cat off:4,on:1

# positive_literal_split_queue_layered_arrangement
plsq=on > plsql ~cat on:1,off:8

# positive_literal_split_queue_cutoffs
plsq=on > plsqc ~cat 0:12,1:30,2:4,3:1,4:1

# positive_literal_split_queue_ratios
plsq=on > plsqr ~u2r -5;7;,

# INFERENCES

# superposition (don't turn this off at home!)
> sup ~cat on:100,off:1

# simultaneous_superposition
sup=on > sims ~cat on:50,off:1

# superposition_from_variables
sup=on > sfv ~cat on:38,off:1

# forward_subsumption
> fs ~cat on:500,off:31

# forward_subsumption_resolution
fs=off > fsr ~cat off:1
fs=on  > fsr ~cat on:500,off:193

# forward_subsumption_demodulation
> fsd ~cat off:279,on:7

# forward_subsumption_demodulation_max_matches
fsd=on > fsdmm ~cat 0:10,1:3,2:2,3:1

# backward_demodulation
> bd ~cat all:500,off:245,preordered:91

# backward_subsumption
fs!=off > bs ~cat off::500,unit_only:74,on:64

# backward_subsumption_resolution
> bsr ~cat off:500,unit_only:118,on:75

# backward_subsumption_demodulation
> bsd ~cat off:500,on:74

# backward_subsumption_demodulation_max_matches
bsd=on > bsdmm ~cat 0:10,1:3,2:2,3:1

# binary_resolution
> br ~cat on:40,off:1

# condensation
> cond ~cat off:266,on:12,fast:8

# demodulation_redundancy_check (not implemented in Ahmed's branch)
# > drc ~cat encompass:500,on:500,off:354

# equational_tautology_removal
> etr ~cat off:100,on:1

# extensionality_resolution
ins=0 > er ~cat off:500,known:25,filter:26

# fool_paramodulation (TODO: out for Ahmed for now)
# > foolp ~cat off:10,on:1

# forward_demodulation
> fd ~cat all:244,off:27,preordered:15

# forward_literal_rewriting
> flr ~cat off:30,on:1

# function_definition_introduction (not implemented in Ahmed's branch)
# > fdi ~cat 0:100,2:1,4:1,8:1,16:1,32:1,64:1,128:1,256:1,512:1,1024:1

# inner_rewriting
> irw ~cat off:165,on:1

# unit_resulting_resolution (TODO: out for Ahmed for now)
# > urr ~cat off:1200,ec_only:162,on:340

# SINE LEVELS and shit

# sine_to_age
> s2a ~cat off:4,on:1

# sine_level_split_queue
> slsq ~cat off:25,on:1

# sine_level_split_queue_layered_arrangement
slsq=on > slsql ~cat on:10,off:1

# sine_level_split_queue_cutoffs
slsq=on > slsqc ~cat 0:6,1:8,2:1,3:1

# sine_level_split_queue_ratios
slsq=on > slsqr ~u2r -5;2;,

# ORDERING

# term_ordering (lpo not compatible with HO)
# > to ~cat kbo:13,lpo:4

# symbol_precendence
> sp ~cat arity:100,const_min:72,frequency:130,const_frequency:49,reverse_frequency:55,reverse_arity:72,weighted_frequency:24,unary_first:28,occurrence:82,unary_frequency:14,const_max:18
# symbol_precedence_boost
> spb ~cat none:100,units:3,goal:1,goal_then_units:8,non_intro:6,intro:2

to=kbo > kmz ~cat off:200,on:1
to=kbo > kws ~cat const:200,inv_arity_squared:1,precedence:16,arity_squared:10,inv_arity:3,inv_frequency:10,frequency:1

# literal_comparison_mode
> lcm ~cat standard:100,reverse:5,predicate:5

# sine_to_pred_levels
> s2pl ~cat off:50,on:2,no:3

# SINE LEVELS - configure (must come after sine_to_age & slsq & s2pl)

# set $s2a as the disjunction: s2a=on | slsq=on | s2pl!=off
> $s2a ~cat off:1
s2a=on    > $s2a ~cat on:1
slsq=on   > $s2a ~cat on:1
s2pl!=off > $s2a ~cat on:1

# now configure (stealing the values from sine proper, which is not ideal, but should do)

# sine_to_age_generality_threshold
$s2a=on > s2agt ~cat 0:7,5:1,10:1,15:1,20:1,30:1,50:1,100:1

# sine_to_age_tolerance
$s2a=on > s2at ~cat -1.0:50,1.0:150,1.5:37,2.0:60,2.5:20,3.0:70,3.5:15,4.0:60,4.5:15,5.0:50,5.5:10,6.0:30,7.0:20

# AVATAR
> av ~cat on:5,off:1

# avatar_add_complementary
av=on > aac ~cat none:19,ground:100

# avatar_buffered_solver
av=on > abs ~cat on:8,off:100

# avatar_congruence_closure
av=on > acc ~cat off:100,model:2,on:5

# cc_unsat_cores
acc!=off > ccuc ~cat first:1,small_ones:1,all:3

# avatar_minimize_model
av=on  acc=model > amm ~cat all:600,off:69
av=on acc!=model > amm ~cat all:600,sco:32,off:69

# avatar_eager_removal
av=on amm=all > aer ~cat on:300,off:1

# avatar_delete_deactivated
av=on > add ~cat on:100,large:2,off:1

# avatar_fast_restart
av=on > afr ~cat off:10,on:1

# avatar_literal_polarity_advice
av=on > alpa ~cat none:200,false:1,true:6,random:1

# avatar_nonsplittable_components
av=on > anc ~cat known:300,all_dependent:14,all:5,none:14

# avatar_turn_off_time_frac
av=on > atotf ~cat 1.0:10,0.5:1
# careful that 1.0 becomes "1" by the ->toFloat->toStr internal transformation
atotf!=1 > atotf ~uf 0.0,0.5

# avatar_flush_period
av=on > afp ~cat 0:15,1:1
afp!=0 > afp ~cat 1:1,10:1,50:1,300:1,1000:1,2000:1,4000:1,10000:1,40000:1,100000:1,1000000:1

# avatar_flush_quotient
afp!=0 > afq ~uf 1.0,3.0

# nonliterals_in_clause_weight
av=on > nicw ~cat off:100,on:1

# split_at_activation
av=on > sac ~cat off:3,on:1

# TODO: consider enabling this for vampire_z3 compiles!
# av=on > sas ~cat minisat:10,z3:1

# AVATAR SPLIT QUEUE

# avatar_split_queue
av=on > avsq ~cat off:8,on:1

# avatar_split_queue_layered_arrangement
avsq=on > avsql ~cat off:8,on:1

# avatar_split_queue_cutoffs
avsq=on > avsqc ~cat 0:20,1:1,2:1,3:1,4:1,5:1

# avatar_split_queue_ratios
avsq=on > avsqr ~u2r -5;3;,

# GLOBAL SUBSUMPTION (only after AVATAR -- careful of dependencies!)

> gs ~cat off:15,on:1

# global_subsumption_explicit_minim
gs=on > gsem ~cat randomized:50,on:5,off:17

# global_subsumption_sat_solver_power
gs=on > gsssp ~cat propagation_only:20,full:1

# global_subsumption_avatar_assumptions
gs=on av=on > gsaa ~cat off:30,from_current:11,full_model:3

# MISC

> uhcvi ~cat off:1,on:1

# HIGHER ORDER STUFF

# complex_bool_reasoning
> cbe ~cat on:100,off:65

# add_proxy_axioms
> apa ~cat off:100,on:13

# bool_eq_trick
> bet ~cat off:100,on:19

# cases
> c ~cat off:100,on:31

# cases_simp
c=off > cs ~cat off:100,on:14

# choice_ax
> cha ~cat off:100,on:16

# choice_reasoning
cha=off > chr ~cat off:100,on:15

# cnf_on_the_fly
apa=on  > cnfonf ~cat off:1
apa=off > cnfonf ~cat eager:111,off:43,lazy_gen:29,conj_eager:19,lazy_not_gen_be_off:15,lazy_pi_sigma_gen:26,lazy_not_be_gen:12,lazy_simp:19,lazy_not_gen:12

# heur_inst
cnfonf=conj_eager > hi ~cat off:100,on:5

# bool_inst (disable for now)
# cnfonf!=off > bi ~cat off:1,abs:1,abs_sub:1

# equality_to_equiv
> e2e ~cat off:222,on:64

# func_ext
> fe ~cat abstraction:172,off:74,axiom:40

# hol_unif_depth
> hud ~ui 0,25

# lam_free_hol
# > lfh ~cat off:1,on:1

# iff_xor_rewriter
> ixr ~cat on:100,off:21

# new_taut_del
> ntd ~cat off:100,on:60

# pos_ext
func_ext!=axiom > pe ~cat off:20,on:1

# prim_inst_set
> piset ~cat pragmatic:214,or:14,equals:19,and:15,not:3,pi_sigma:8,all:3,small_set:7,all_but_not_eq:3

# pragmatic
hud!=0 > prag ~cat off:1,on:1

# applicative_unif
> au ~cat off:10,on:3

# take_n_unifiers
au=off > tnu ~ui 0,9

# injectivity
> inj ~cat off:4,on:1

# higher order split queue
> hfsq ~cat off:3,on:1
hfsq=on > hfsql ~cat off:4,on:1
hfsq=on > hfsqc ~cat 0:80,1:30,2:20,3:20,4:10,5:5
hfsq=on > hfsqr ~u2r -5;3;,
