function(test)

  function(dp_naive_test cnf)
    cnf("${arguments_sequence}")
    ans(cnf)

    #print_cnf(${cnf})
    #scope_import_map(${cnf})
    timer_start(dp_naive_timer)
    dp_naive("${cnf}")
    ans(res)
    timer_print_elapsed(dp_naive_timer)

    map_tryget(${res} success)
    ans(success)
    if(success)
      map_tryget(${res} assignments)
      ans(assignments)
      literal_to_atom_assignments(${cnf} ${assignments})
      ans(res)
      map_keys_sort("${res}")
    else()
      set(res)
    endif()
    
   print_vars(res)
      return_ref(res)  
  endfunction()



  #dp_naive_test("a|b|!c;b|c;!a|b|!c;a|!b|c;a|!c|d;!c|!d")

  define_test_function(test_uut dp_naive_test)

 # test_uut("{a:'true'}" "a")
 # test_uut("{a:'false'}" "!a")
 # test_uut("{a:'true'}" "a|b")
 # test_uut("{a:'false'}" "!a|b")
 # test_uut("{a:'true',b:'true'}" "!a|b&a")
  test_uut("{a:'true'}" "a")
  test_uut("{a:'false'}" "!a")
  test_uut("{a:'true',b:null}" "a;b" "a")
  test_uut("{A:'true',B1:'true','B2':'false','C':'true'}" "!A;B1;B2" "!B1;!B2" "!A;C" "!B2;!C" "A")
  test_uut("" "!a;b" "!a;d" "!d;!c" "!b;c" "a") # conflict

  test_uut("" "!meta:A;meta:B" "!meta:A;meta:D" "!meta:D;!meta:C" "!meta:B;meta:C" "meta:A")

return()
  test_uut("{a:'true',b:'true',c:'false'}" "a|b|!c;b|c;!a|b|!c;a|!b|c;a|!c|d;!c|!d")

 # unsatisfiable
  test_uut("{}" "!48|!49|21;41|37|!42;!25|!22|10;!25|26|!8;!20|27|!4;2|9|36;!44|47|10;!29|28|!33;6|!36|8;3|!49|!38;!43|!27|8;2|!42|9;23|!5|!39;!37|49|36;!5|16|!13;!40|14|47;44|!4|!18;!28|!35|19;19|!26|4;18|4|30;!50|!38|!31;6|!24|46;3|!6|!10;!40|7|12;!11|!37|!4;!8|!45|!16;!31|47|!19;!2|!23|!11;!34|46|9;!37|!1|!13;34|!42|6;!3|!29|20;!31|21|19;!37|48|3;4|!10|18;!6|!21|12;46|17|!33;!5|!35|18;!32|46|!28;30|!13|45;!37|33|12;!25|37|7;!3|!36|!23;29|!30|25;!34|!29|31;!29|32|40;14|!36|!47;!26|!37|33;46|!13|!20;!1|24|!19;!9|49|15;!12|!45|21;8|!16|50;!1|12|21;!30|27|10;46|!17|!16;!49|!13|9;!43|!30|22;!4|6|43;13|!42|!28;40|!34|!47;!32|37|!1;!6|9|!27;!1|10|!41;46|13|!20;8|34|!46;!44|8|34;39|26|!23;15|24|36;47|3|20;15|!27|4;44|32|!28;4|28|!13;!34|!25|!39;33|1|!3;!25|26|19;!30|!47|16;10|!1|39;35|!14|!11;49|45|47;!31|!40|38;50|!18|!4;34|10|!41;45|6|!43;!50|20|!32;!8|2|!38;2|1|!44;!45|49|3;15|16|!28;!45|20|!18;24|!39|!11;19|40|30;18|!4|!25;17|41|25;!18|!31|!41;!18|20|29;!7|47|44;!47|!6|!40;!16|!21|!12;8|12|26;!19|28|!22;11|21|!26;20|!47|33;46|12|34;42|8|!27;!22|28|!13;!22|!36|!49;25|9|!46;19|13|2;!17|11|!44;!50|47|41;15|!7|17;!37|5|11;12|34|3;31|!13|!16;!3|!41|32;!12|49|9;43|!47|!9;4|2|13;!11|46|29;!11|22|!10;45|26|42;8|!46|!49;47|2|40;25|!19|50;!22|!5|41;25|!41|!30;19|2|!28;!6|15|!27;!50|48|!2;18|23|!1;!12|!29|!37;24|!14|!32;27|!36|!14;!37|!30|!35;!35|46|8;32|16|!40;!49|!31|!48;!30|8|!15;31|!47|25;1|20|50;19|!36|!8;!2|!6|41;13|45|!34;37|!3|4;3|7|!11;!46|28|!37;!1|!9|!19;45|!42|!21;!38|!49|4;42|43|!17;31|!50|4;46|!49|16;2|!27|!3;!23|15|!48;37|!45|!26;!30|!27|!29;40|25|5;!6|33|18;!1|!24|!13;13|22|!17;!45|30|29;!28|!31|!23;37|!20|5;!15|!3|!34;4|2|21;14|!32|45;30|18|35;48|25|!27;26|!7|31;!21|38|12;7|21|!46;!14|3|1;!20|11|!30;44|48|!41;!35|14|47;!32|41|!6;!47|!17|!39;14|42|24;!4|!11|48;13|!11|38;20|18|49;14|!47|29;46|5|50;27|!19|!24;48|!9|!35;38|12|40;!26|!9|!30;!23|4|!38;!19|!38|24;40|43|31;15|48|!36;6|35|36;!35|!9|11;!46|!15|34;!27|41|36;15|49|!47;26|44|50;!34|40|!14;!5|!12|6;!44|25|!45;40|44|!37;!34|!45|!30;28|39|!48;27|16|!44;!8|39|!42;27|3|!30;43|!44|!27;!8|15|!5;!13|!36|!37;35|39|26;48|5|42;!4|!9|49;!33|!11|39;32|!10|!44;!3|!22|!33;!39|42|40;3|!5|14")


  test_uut("{}" "4|!18|19;3|18|!5;!5|!8|!15;!20|7|!16;10|!13|!7;!12|!9|17;17|19|5;!16|9|15;11|!5|!14;18|!10|13;!3|11|12;!6|!17|!8;!18|14|1;!19|!15|10;12|18|!19;!8|4|7;!8|!9|4;7|17|!15;12|!7|!14;!10|!11|8;2|!15|!11;9|6|1;!11|20|!17;9|!15|13;12|!7|!17;!18|!2|20;20|12|4;19|11|14;!16|18|!4;!1|!17|!19;!13|15|10;!12|!14|!13;12|!14|!7;!7|16|10;6|10|7;20|14|!16;!19|17|11;!7|1|!20;!5|12|15;!4|!9|!13;12|!11|!7;!5|19|!8;1|16|17;20|!14|!15;13|!4|10;14|7|10;!5|9|20;10|1|!19;!16|!15|!1;16|3|!11;!15|!10|4;4|!15|!3;!10|!16|11;!8|12|!5;14|!6|12;1|6|11;!13|!5|!1;!7|!2|12;1|!20|19;!2|!13|!8;15|18|4;!11|14|9;!6|!15|!2;5|!12|!15;!6|17|5;!13|5|!19;20|!1|14;9|!17|15;!5|19|!18;!12|8|!10;!18|14|!4;15|!9|13;9|!5|!1;10|!19|!14;20|9|4;!9|!2|19;!5|13|!17;2|!10|!18;!18|3|11;7|!9|17;!15|!6|!3;!2|3|!13;12|3|!2;!2|!3|17;20|!15|!16;!5|!17|!19;!20|!18|11;!9|1|!5;!19|9|17;12|!2|17;4|!16|!5")

  test_uut("{}" "!3|36|7|;!3|!42|!48|;!49|!47|!41|;8|!40|17|;!21|!31|!39|;36|!22|49|;27|38|14|;15|!18|6|;6|7|!43|;34|!7|23|;2|14|!13|;2|47|!42|;!33|!35|3|;44|40|49|;50|36|31|;!36|!3|!37|;26|!29|43|;15|29|!45|;24|!11|18|;!47|!26|6|;!50|!33|!10|;32|6|16|;!34|37|41|;7|!28|!17|;!44|46|19|;7|22|!48|;3|39|34|;31|46|!43|;!27|32|23|;37|!50|!18|;20|5|11|;!45|!24|6|;!34|!23|!14|;!22|21|20|;!17|50|24|;!25|!24|!27|;3|35|21|;!26|47|!36|;!28|!45|49|;!21|!6|12|;!17|!15|!39|;41|2|!14|;25|36|!23|;!39|!3|!40|;50|20|35|;27|31|!39|;45|!15|!40|;34|50|35|;!1|!48|12|;18|!35|!30|;27|!24|!25|;!4|!33|!12|;!43|!24|!37|;!37|31|!44|;!9|!38|14|;33|!16|34|;4|!35|!5|;!3|!21|!19|;!35|!36|!29|;7|!43|36|;30|14|41|;!35|!24|!7|;35|!42|6|;!1|!15|39|;27|49|!16|;!37|49|!10|;50|!46|!3|;!41|20|34|;!1|23|28|;!12|!30|!20|;!24|29|!37|;12|5|!44|;!6|!2|48|;!2|!49|!43|;1|!50|24|;!7|!50|!44|;!41|43|4|;13|15|!11|;!3|!11|23|;33|48|41|;9|23|!49|;!43|47|1|;!40|16|!29|;30|19|3|;19|!34|48|;!16|!44|14|;38|!45|!12|;!4|!14|!31|;!48|35|!1|;45|!13|19|;9|42|!7|;!1|!15|8|;!13|!44|!14|;!43|!37|!31|;!27|!29|47|;7|4|17|;7|10|35|;!25|20|17|;35|!5|!42|;!50|24|!5|;!21|!26|2|;!8|45|!21|;!16|33|49|;!38|6|16|;5|21|37|;8|38|31|;!21|33|14|;20|40|!5|;!29|!9|31|;!7|42|!22|;!48|8|26|;48|!38|33|;!34|49|46|;!14|!46|25|;!46|4|18|;36|!12|!31|;12|!18|14|;!7|46|!16|;9|!8|7|;49|!42|!22|;22|!15|38|;34|!41|47|;22|!26|32|;!25|!45|!21|;!26|32|!11|;15|26|!25|;!1|46|25|;!14|!31|30|;!9|!22|12|;!18|26|!35|;!16|!32|!21|;31|!49|!21|;11|9|41|;!13|!30|19|;!10|4|6|;!4|3|!22|;!25|!50|!18|;!40|4|9|;37|20|46|;!27|22|!29|;34|14|3|;3|!31|20|;!50|2|!26|;17|!29|38|;!49|12|!41|;15|!35|!43|;!22|!23|!49|;!9|33|48|;26|29|35|;27|!50|37|;!7|46|!43|;!46|!37|!8|;!40|36|!24|;!44|46|15|;!3|36|!16|;!48|9|43|;!25|!4|44|;!22|37|!7|;!31|!17|!22|;!11|!48|17|;23|34|!28|;23|!48|!39|;!37|!1|!23|;!19|27|14|;!22|33|!6|;!6|!32|!26|;18|!20|!46|;43|22|27|;!13|34|49|;!35|!46|3|;32|39|!43|;6|!39|!9|;27|39|!16|;25|!17|!15|;!43|27|34|;!6|49|5|;!38|11|14|;40|!38|47|;37|!14|17|;39|29|36|;!39|!28|1|;!18|14|!16|;!40|50|15|;37|!42|18|;!13|31|33|;2|!42|33|;8|!3|!22|;1|23|!31|;!20|!45|26|;42|11|49|;29|11|!43|;!20|!21|30|;23|45|!35|;38|!30|!14|;!9|48|!29|;11|!18|!23|;!41|!1|!29|;5|41|26|;44|!30|!7|;38|!6|!41|;46|48|!15|;!18|!10|!47|;38|46|!32|;!32|46|12|;31|40|14|;!18|2|49|;28|!38|27|;!16|!21|14|;!29|15|12|;49|34|5|;14|22|!12|;30|33|20|;!24|22|25|;4|!48|!23|;!30|!36|9|;44|12|!35|;38|3|!21|;!11|33|49")


endfunction()