Tablas de verdad

by scyrizales

HTML

<script src="//code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<link rel="stylesheet" href="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"></script>
<script src="//stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- 
  Bootstrap docs: https://getbootstrap.com/docs
-->

<div class="container">
  <h2>
  Resultados
  </h2>
  <div id="resultados">
  
  </div>
  <div>
    ((~rvq)^~s)
  </div>
  <table id="tb1" class="table"><tbody><tr><td class="title">r</td><td class="title">q</td><td class="title">s</td><td class="title">(~r)</td><td class="title">((~r)vq)</td><td class="title">(~s)</td><td class="title">((((~r)vq))^(~s))</td></tr><tr><td>F</td><td>F</td><td>F</td><td>V</td><td>V</td><td>V</td><td>V</td></tr><tr><td>F</td><td>F</td><td>V</td><td>V</td><td>V</td><td>F</td><td>F</td></tr><tr><td>F</td><td>V</td><td>F</td><td>V</td><td>V</td><td>V</td><td>V</td></tr><tr><td>F</td><td>V</td><td>V</td><td>V</td><td>V</td><td>F</td><td>F</td></tr><tr><td>V</td><td>F</td><td>F</td><td>F</td><td>F</td><td>V</td><td>F</td></tr><tr><td>V</td><td>F</td><td>V</td><td>F</td><td>F</td><td>F</td><td>F</td></tr><tr><td>V</td><td>V</td><td>F</td><td>F</td><td>V</td><td>V</td><td>V</td></tr><tr><td>V</td><td>V</td><td>V</td><td>F</td><td>V</td><td>F</td><td>F</td></tr></tbody></table>
  <div>
  ((r^~t)→s)^(pvq)
  </div>
  <table id="tb2" class="table"><tbody><tr><td class="title">r</td><td class="title">t</td><td class="title">s</td><td class="title">p</td><td class="title">q</td><td class="title">(~t)</td><td class="title">(r^(~t))</td><td class="title">(((r^(~t)))→s)</td><td class="title">(pvq)</td><td...

CSS

.row {
  background: #f8f9fa;
  margin-top: 20px;
}

.col {
  border: solid 1px #6c757d;
  padding: 10px;
}

JavaScript

let valores1 = [];
let valores2 = [];

let valoresFinales = [];
Array.prototype.slice.call(document.querySelectorAll("#tb1 tr td:nth-child(6)")).forEach(n => {
	if (n.innerText === 'F') {
  	n.parentElement.style.backgroundColor = "red";
    valores1.push([n.parentElement.children[0].innerText, n.parentElement.children[1].innerText, n.parentElement.children[2].innerText])
  }
})

Array.prototype.slice.call(document.querySelectorAll("#tb2 tr td:nth-child(10)")).forEach(n => {
	if (n.innerText === 'V') {
  	n.parentElement.style.backgroundColor = "red";
    valores2.push([n.parentElement.children[0].innerText, n.parentElement.children[1].innerText, n.parentElement.children[2].innerText, n.parentElement.children[3].innerText, n.parentElement.children[4].innerText])
  }
})

valores2.forEach(([r2, t2, s2, p2, q2]) => {
	valores1.forEach(([r1, q1, s1]) => {
		if (r1 === r2 && q1 === q2 && s1 === s2) {
    	valoresFinales.push([p2, q2, r2, s2, t2].join(""));
    }
	});
})

valoresFinales = [...new Set(valoresFinales)].sort();

document.getElementById("resultados").innerHTML = valores1.length + "<br /><br />" + valores2.length + "<br /><br />" + JSON.stringify(valoresFinales.join("<br />"));